layui 表格添加右键菜单
为了减少表格列的长度,想着把行操作都放到鼠标右键菜单去。可惜Layui的表格目前还不支持右键菜单事件,只能自己去实现了。
为了减少表格列的长度,想着把行操作都放到鼠标右键菜单去。可惜Layui的表格目前还不支持右键菜单事件,只能自己去实现了。
layui 的表格头部工具栏左侧图标只有筛选列、导出和打印,功能有点少。经过查阅源代码和手册,找到了全局添加自定义工具的方法,在此记录一下。
查阅手册,配置头部工具栏左侧图标配置,的方式如下:
layui.table.render({ //其它参数在此省略
defaultToolbar: ['filter', 'print', 'exports', {
title: '提示' //标题
,layEvent: 'LAYTABLE_TIPS' //事件名,用于 toolbar 事件中使用
,icon: 'layui-icon-tips' //图标类名
}]
});
字符串的工具是默认自带的,如果是自定义,需要用对象。参照示例,我在这里加一个刷新工具。
layui.table.render({ //其它参数在此省略
defaultToolbar: ['filter', 'print', 'exports', {
title: '刷新'
,layEvent: 'LAYTABLE_REFRESH'
,icon: 'layui-icon-refresh'
}]
});
在layui.table.render()
里定义只适用于单个表格,而我想的是全局默认都有。再经过一番研究,找到设置全局项方法layui.table.set()
,可以在全局公共文件里去设置默认的defaultToolbar
。
layui.use('table', () => {
layui.table.set({
defaultToolbar: [
'filter', 'print', 'exports'
, {title: '刷新', layEvent: 'LAYTABLE_REFRESH', icon: 'layui-icon-refresh'}
]
})
})
工具图标加上去了,接下来就是监听刷新按钮的事件了。Layui的底层API提供了layui.onevent()
方法,用于监听事件。
layui.onevent('table', 'toolbar()', obj => {
// 判断是否是刷新事件(LAYTABLE_REFRESH)
if ("LAYTABLE_REFRESH" === obj.event) {
// 刷新当前表格
layui.table.reload(obj.config.id);
}
})
到此,自定义工具已搞定,以下是完整代码:
layui.use('table', () => {
// 设置默认表格头部工具栏左侧图标
layui.table.set({
defaultToolbar: [
'filter', 'print', 'exports'
, {title: '刷新', layEvent: 'LAYTABLE_REFRESH', icon: 'layui-icon-refresh'}
]
})
// 监听表格头部工具栏事件
layui.onevent('table', 'toolbar()', obj => {
// 判断是否是刷新事件(LAYTABLE_REFRESH)
if ("LAYTABLE_REFRESH" === obj.event) {
// 刷新当前表格
layui.table.reload(obj.config.id);
}
})
})
array(1, 2, 3)
可以简写为[1, 2, 3]
if (time() % 2) {
$b = '111';
} else {
$b = '222';
}
可以简写为
$b = time() % 2 ? '111' : '222';
$a = new stdClass();
if (null !== $a) {
$b = $a->name;
} else {
$b = null;
}
可以简写为
$a = new stdClass();
$b = $a?->name;
if (isset($a)) {
$a = 'default';
}
echo $a;
可以简写为
echo $a ?? 'default';
list($a, $b) = [111, 222]
可以简写为[$a, $b] = $array
$a = 111 , $b = 222
['a' => $a, 0 => $b] = ['a' => 123, 456]
// $a = 123 , $b = 456
项目运行中开始出现了卡顿,需要进行问题定位,于是写了个函数来专门记录代码执行到每个位置所消耗的时间。
Google AdSense 终于达到起付金额,可以进行提现了,这里记录下使用中国工商接收电汇的经历。
地址验证需要接收一份信件,信件里面有验证码。收到信件后,将信件内的数字验证码在 Google AdSense 中填入验证即可。
填写地址时,需要注意填写的信息要完整准确和详细。申请了几次都没收到,就是因为地址不详细。
虽然申请邮寄验证信件时填写联系方式,但邮递员并没有与我联系。还是自己偶然看小区楼下自己家的信箱才看到信件。
以下以广东省为例子,具体信息,可以询问银行客服。
普通储蓄卡都可以接收外汇,不用去开通什么。
项目 | 备注 |
---|---|
收款人ID | 不用填写 |
银行账户上的姓名 | 填写工行帐号所有人的的英文,如张三 则填写为Shan Zhang |
银行名称 | THE INDUSTRIAL AND COMMERCIAL BANK OF CHINA GUANGDONG PROVINCIAL BARNCH |
SWIFT BIC | ICBKCNBJGDG |
帐号 | 银行卡号 |
中转银行 | 无需填写 |
最终汇入方或最终收款人 | 无需填写 |
Google AdSense 打款 11 天后,收到来自 googlepay-support@google.com
的邮件。邮件原文如下:
--- 邮件原文 ---
You're receiving this email because we've been unable to verify some information on your Google account in order to complete the disbursement process.
The information you provide may be shared with a third party in order to complete your disbursement. By providing this information, you acknowledge and agree that this information may be shared with a third party.
In order to continue the disbursement process, please provide a copy of current government issued ID for San Zhan and reply with the following information for San Zhan:
Full Name
Date of Birth (provide the month in wording)
Place of Birth (with country)
Nationality
National ID Number (with country) / Passport Number (with country)
Full physical address and country of location
Occupation
Please respond with the information requested within 5 business days. Until your information has been verified, you will not be able to transact with any products you may be using (e.g. Play, Google Ads, AdSense, G Suite, etc.) with this account.
We make great efforts to reply to you within 24 hours.
Thank you for your cooperation.
--- 邮件原文结束 ---
按邮件内的要求,附上相关资料,直接回复邮件。
注意删除注释
--- 参考回复内容 ---
// 姓名
Full Name: San Zhan
// 出生日期
Date of Birth: 1997-7-1(YYYY-MM-DD)
// 出生地
Place of Birth: China
// 国籍
Nationality: China
// 身份证号码
National ID Number: 440101199707011234
// 住址(可以用翻译软件直接翻译)
Full physical address and country of location: No. 123, Tianhe Community, Tianhe District, Guangzhou City, Guangdong Province
// 职业
Occupation: IT technician
--- 参考回复内容结束 ---
过了 3 天,工商银行(本地固话)打电话过来,确认外汇问题。主要确认外汇金额及为什么会有这笔外汇(如实回答是网站上展示广告所得的广告费即可)。
确认后,账号上就会有一笔美元,可以在工商银行APP上搜索 结售汇
,兑换成人民币。
现在收款需要提供相关的合同或者协议,核实一下交易背景。根据付款常见问题解答,可以找到AdSense 条款及条件。
如果您需要出示与 AdSense 签订的合同,可以打印 AdSense 条款及条件。您在注册 AdSense 时已接受这些条款及条件,它们是您(贵公司)与 AdSense 互动的法律依据。