表格操作

## myTable.on ### 1. 功能 操作表格中的一行 ### 2. 使用场景 需要操作表格中的某一行, 例如 查看, 删除, 修改 ![image.png](https://cos.easydoc.net/27100029/files/kbizguhi.png) ### 3. 如何使用 - 监听表格事件 - 注意even的命名, 监听时以此判断事件操作 - 同样需要加上权限 limitname - 封装好了删除函数, 可直接使用 #### 3.1 行内按钮监听 #### 3.1.1 HTML 中添加代码, 与 form 标签同级 ```html <script type="text/html" id="operation"> <a class="layui-btn layui-btn-xs limitBtn" limitname="invoice:label:update" lay-event="update"><i class="layui-icon">&#xe642;</i>编辑</a> <a class="layui-btn layui-btn-xs layui-btn-danger limitBtn" limitname="goods:label:delete" lay-event="del" ><i class="layui-icon">&#xe640;</i>删除</a> </script> ``` #### 3.1.2 JS 中添加代码 ```JavaScript // 括号内对应表格名 onion.myTable.on('tool(Table)', function (obj) { var data = obj.data // 表格数据 // even对应操作项lay-event的值, 循环判断需要的操作 if (obj.event === 'update') { // 对应的代码 } else if (obj.event === 'del') { // 封装好的删除代码 onion.minDel( myTable, url + obj.data.id // 后端删除接口 ); } }) ``` #### 3.2 双击行监听 ```javascript onion.myTable.on('rowDouble(Table)', function (obj) { var sodId = obj.data.sodId; // obj.data 即该行的数据 }); ``` #### 3.3 删除行 ```js onion.minDel(myTable, url, id, tipMsg) ``` 1. `myTable` 为数据表格名称, 一般固定 2. `url` 删除接口地址 3. `id` 删除数据 id 4. `tipMsg` 删除提示, 默认为 `真的删除行么` ### 4. api定义 myTable.on 为 layui 原有方法, minDel 为再封装 ``` javascript onion.minDel = function (myTable, url, id, tipMsg) { layer.confirm(tipMsg || '真的删除行么', function (index) { onion.ajax.post(url, [id], function (res) { if (res.code == onion.networkState.SUCC) { layer.close(index); myTable.reload(); } else if (res.code == onion.networkState.SYSTEMERR) { onion.layer.tipMsg('系统异常'); } else { onion.layer.tipMsg(res.msg); } }) }); } ```