最近入坑Layui这个为服务端程序员量身定做的前端框架。 为什么不用vue结合各种流行前端框架Element、iView啊什么,后台大哥们不会啊!!! 只好我来迁就他们呢,还得一点一点儿的学起来。
当我们在操作数据表格的时候,并不是一定要点击表格工具栏中的“查看”按钮,来进行查看,而是点击某一特定的列来进行某些数据查看。例如下图这样。
这就涉及到表格的自定义事件。代码如下:
<table id='task-list' lay-filter='task-list'></table> // 需要渲染的表格 var tableInit = function (data) { table.render({ elem: '#task-list' , height: 472 , title: '决策场景信息' , limit: data.length + 1 , page: { theme: '#1E9FFF', layout: ['prev', 'page', 'next', 'skip', 'count', 'limit'] //自定义分页布局 , limit: 10 , groups: 1 //只显示 1 个连续页码 , first: false //不显示首页 , last: false //不显示尾页 } , cols: [[ {field: 'id', title: '序号', width: 60, style: 'font-size: 12px; color: #666'}, {field: 'modelNum', title: '场景模型编号', style: 'font-size: 12px; color: #666'}, {field: 'modelName', title: '场景模型名称', style: 'font-size: 12px; color: #666'}, {field: 'taskNum', title: '当前任务编号', style: 'font-size: 12px; color: #666'}, {field: 'taskLevel', title: '当前任务阶段', width: 150, templet: "#level", style: 'font-size: 12px; color: #666'}, {field: 'report', title: '报告', width: 60, event: 'viewReport', templet: "#reportID", style: 'font-size: 12px; color: #666; cursor:pointer'}, // 这里设置event,事件名称自定义。 {field: 'history', title: '历史任务', width: 100, style: 'font-size: 12px; color: #666'}, { fixed: 'right', title: '操作', width: 100, toolbar: "#table-linetoolbar", align: 'center', style: 'font-size: 12px; color: #666' } ]] , cellMaxWidth: 100 , parseData: function (res) { return res; } , data: data , id: 'task-list' }); table.on('tool(task-list)', function (obj) { let event = obj.event; if (event === "viewReport"){ // 处理你的业务逻辑 } }这样就可以给某特定列设置自定义事件了。