layui-table组件在企业开发中的使用记录

简介:

layui table简介

layui是一套控件集 官网 基本上常用的组件都包含了。优点是封装了整套常用的ui。不足的地方是api不是很清晰,一些原来在类似easyui这种纯jquery控件集中有的方法事件这套控件集可能没有。 
table组件是一般企业开发中最常用到的组件,layui的table组件满足了绝大部分需求API,部分定制功能可能需要修改源码,或者用比较生硬的方法去修改。希望后续版本能更全面一些

普通页面增删改查

<table id="table" lay-filter="tableFilter"></table>
<script type="text/html" id="toolCol">
 <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
 <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>

var gridParam = {
    elem: "#table"
    , id: "table"
    , height: 'full-53'
    , method: "post"
    , size:"sm"//有lg和sm,lg对于笔记本来说太大了。
    , limit: 20
    , limits: [20, 50, 100]
 , page: true //开启分页
    , response: {
        countName: 'totalElements' //数据总数的字段名称,默认:count
        , dataName: 'content' //数据列表的字段名称,默认:data
        , statusName: null
        , statusCode: null
    }
 , url: 'xxxx/xx/xx'
 , cols: [[
  {fixed: 'left', type: 'checkbox'}
  , {fixed: 'left', title: '序号', type: 'numbers'}
  , {field: 'username', title: '用户名', minWidth: 100}
  ... 
  , {fixed: 'right', title: '操作', minWidth: 150, align: 'center', toolbar: '#toolCol'}
 ]]
};
//表格初始化
layui.use('table', function () {
        table.render(gridParam);
        table.on('tool(tableFilter)', function (obj) {
            if(obj.event=="edit"){
        xxx
   }else if(obj.event=="del"){
        xxx
   }
        });
    });
//重新查询
$("search").click(function(){
        layui.table.reload("table", {
            where: $("searchForm").serializeJSON()
        });
});

注意事项:由于获取列内容是通过[]的方式从查询结果中获取,所以不能直接取多层结构下的数据例如aa.bb.cc只能通过

templet:"<div>{{d.exteriorOperation.projectNo}}</div>" 

的方式取值。

可编辑表格

由于table组件不支持复杂的输入操作,仅支持文本框,所以我们只有通过templet包裹控件的模式进行表格的编辑操作 
例如:

<script type="text/html" id="valuationTypeCol">
<!--lay-ignore:默认表格中的select会渲染为layui的样式,加了此属性后不会自动渲染 -->
 <select name="aa[]bb" class="form-control input-sm laytable-input" lay-ignore ">
  <option value="0">0</option>
  <option value="1">0</option>
 </select>
</script>
, {fixed: 'right',field: 'valuationType', title: '计价方式', minWidth: 80,templet:'#valuationTypeCol'}

注意事项:

  1. 对于有左侧固定,右侧固定的表格layui使用的模式是生成3个table互相遮盖,所以页面取值时会存在重复数据,只能依据class来获取layui-table-fixed-r 这个class下的表单内容就不会重复
  2. 相同的原因所以更改行高要改三个地方,左中右三个field中都需要指定style:"height:65px;"来修改行高

行背景色修改

修改checkbox选中行的背景色

var checkStyle={
    "color": "#a94442"
    ,"background-color": "#f2dede"
};
var defaultStyle = {
    "background-color": "#fff"
    ,"color": "#666"
}
//layui-form-checked 为选中checkbox样式(div模拟的),由于表格可能存在左侧固定,非固定列,右侧固定列三个模块,所以使用此方法增加背景色
table.on('checkbox(inquiryParity)', function(obj){
//obj.data.LAY_TABLE_INDEX是行序号
 $("tr[data-index="+obj.data.LAY_TABLE_INDEX+"]").css(obj.checked?checkStyle:defaultStyle );
 });


目录
相关文章
|
前端开发 数据格式
jeecgboot前端antd Table组件动态合并单元格
jeecgboot前端antd Table组件动态合并单元格
501 0
|
容器
layui组件table定时刷新的解决方案
layui组件table定时刷新的解决方案
247 0
|
4月前
|
数据格式
使用小技巧实现el-table组件的合并行功能,ElementUI和ElementPlus都适用
本文介绍了在ElementUI和ElementPlus中使用`el-table`组件实现合并行功能的技巧,包括多列合并和单列合并的方法,并提供了相应的示例代码和运行效果。
3541 1
使用小技巧实现el-table组件的合并行功能,ElementUI和ElementPlus都适用
|
5月前
|
开发框架 前端开发 JavaScript
使用Vue-TreeSelect组件实现公司-部门-人员级联下拉列表的处理
使用Vue-TreeSelect组件实现公司-部门-人员级联下拉列表的处理
|
5月前
|
存储 JSON 开发框架
循序渐进VUE+Element 前端应用开发(27)--- 数据表的动态表单设计和数据存储
循序渐进VUE+Element 前端应用开发(27)--- 数据表的动态表单设计和数据存储
|
6月前
|
前端开发 程序员 UED
全面解析layui:掌握基础知识与实用技能(1. 核心组件与模块 2. 布局与容器 3. 弹出层与提示框;1. 数据表格与数据表单 2. 表单验证与提交 3. 图片轮播与导航菜单)
全面解析layui:掌握基础知识与实用技能(1. 核心组件与模块 2. 布局与容器 3. 弹出层与提示框;1. 数据表格与数据表单 2. 表单验证与提交 3. 图片轮播与导航菜单)
81 0
|
存储 前端开发 数据挖掘
前端框架Layui实现动态表格效果用户管理实例(对表格进行CRUD操作-附源码)(一)
前端框架Layui实现动态表格效果用户管理实例(对表格进行CRUD操作-附源码)
171 0
|
JSON PHP 数据格式
layui框架实战案例(1):layui组件table异步加载数据结合php后台动态翻页的解决方案
layui框架实战案例(1):layui组件table异步加载数据结合php后台动态翻页的解决方案
316 0
|
JSON Java 数据格式
LayUI之树形菜单的实现(详细描述附带项目案例)
LayUI之树形菜单的实现(详细描述附带项目案例)
141 0
LayUI之树形菜单的实现(详细描述附带项目案例)
|
JavaScript Java
layui会议OA项目数据表格新增改查
layui会议OA项目数据表格新增改查
57 0