最近入坑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"){
		// 处理你的业务逻辑
	}
}

这样就可以给某特定列设置自定义事件了。

Logo

前往低代码交流专区

更多推荐