Layui table 组件的使用之初始化加载数据、数据刷新表格、传参数

发布时间 - 2026-01-11 03:11:50    点击率:

背景

笔者之前一直使用 bootstrap table ,因为当前项目中主要使用 Layui 框架,于是也就随了 Layui table ,只是在使用的时候出现了一些问题,当然也是怪自己不熟悉的锅吧!

出现的问题:

1、使用 Layui 官方提供的 【转换静态表格】 方式初始化加载时报 id 找不到的错误(自己的锅)

2、传递参数问题(姑且算是 Layui 官方的锅)

笔者使用的 table 加载刷新方案

有一个页面,左侧是一个 tree,右侧是一个 table,默认 table 加载全数据,当点击 tree 节点时,table 进行筛选,很简单的需求吧!

 

这里我们不谈 tree 的使用,将仅仅贴出 table 的相关方法!

首先贴出源表格代码:

<table class="layui-table" lay-filter="EditListTable">
 <thead>
 <tr>
  <th lay-data="{field:'Index', width:60}">序号</th>
  <th lay-data="{field:'UserId', width:80}">销售ID</th>
  <th lay-data="{field:'UserName', width:80}">姓名</th>
  <th lay-data="{field:'Year', width:70}">年份</th>
  <th lay-data="{field:'M01', width:80}">一月</th>
  <th lay-data="{field:'M02', width:80}">二月</th>       
  <th lay-data="{field:'YearValue', width:80, fixed: 'right'}">年度</th>
  <th lay-data="{width:100, align:'center', toolbar: '#barDemo1', fixed: 'right'}">操作</th>
 </tr>
 </thead>
</table>
<script type="text/html" id="barDemo1">
 <a class="layui-btn layui-btn-mini" lay-event="edit">编辑</a>
</script>

直接在代码中通过注释讲解:

(function () {
 //加载列表的后端 url
 var getListUrl = '';
 //对于任意一个 table,按照官方的说法,有三种不同的初始化渲染方式,不多介绍,而这里使用的方式姑且看做第三种:转换静态表格 方式
 //转换静态表格方式,自然首先需要有一个已经存在的表格,然后再通过 js 方式转化为 Layui 表格
 //无论哪种方式的 Layui table 初始化自然需要配置项
 //通过转化的方式初始化 Layui table,配置项部分可以在 源table中,部分在js中,源 table 的源代码上文已经给出,下面给出一个示例的 js 中的配置项
 var tableOptions = {
  url: getListUrl, //请求地址
  method: 'POST', //方式
  id: 'listReload', //生成 Layui table 的标识 id,必须提供,用于后文刷新操作,笔者该处出过问题
  page: false, //是否分页
  where: { type: "all" }, //请求后端接口的条件,该处就是条件错误点,按照官方给出的代码示例,原先写成了 where: { key : { type: "all" } },结果并不是我想的那样,如此写,key 将是后端的一个类作为参数,里面有 type 属性,如果误以为 key 是 Layui 提供的格式,那就大错特错了
  response: { //定义后端 json 格式,详细参见官方文档
   statusName: 'Code', //状态字段名称
   statusCode: '200', //状态字段成功值
   msgName: 'Message', //消息字段
   countName: 'Total', //总数字段
   dataName: 'Result' //数据字段
  }
 };
 //
 layui.use(['table', 'layer'], function () {//layui 模块引用,根据需要自行修改
  var layer = layui.layer, table = layui.table;
  //表初始化
  var createTable = function () {
   table.init('EditListTable', tableOptions);// table lay-filter
  };
  //表刷新方法
  var reloadTable = function (item) {
   table.reload("listReload", { //此处是上文提到的 初始化标识id
    where: {
     //key: { //该写法上文已经提到
      type: item.type, id: item.id
     //}
    }
   });
  };
  //表初始化
  createTable();
  //其他和 tree 相关的方法,其中包括 点击 tree 项调用刷新方法
 });
})();

后端方法:

//本示例中,后台代码写法
public ActionResult GetGoalList(string type, string id)
{
  //
}

//如果按照官方文档条件项,应该是下面的写法

public ActionResult GetGoalList(keyItem key)
{
  //
}
public class keyItem
{
 public string id { get; set; }
 public string type { get; set; }
}

总结

以上所述是小编给大家介绍的Layui table 组件的使用之初始化加载数据、数据刷新表格、传参数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# Layui  # table  # 组件的使用  # 使用layui实现树形结构的方法  # layui.tree组件的使用以及搜索节点功能的实现  # layui实现数据表格table分页功能(ajax异步)  # LayUI下拉树TreeSelect的使用解读  # 后端  # 加载  # 是一个  # 贴出  # 小编  # 有一个  # 自己的  # 我想  # 文档  # 那就  # 也就  # 在此  # 找不到  # 不多  # 大错特错  # 将是  # 给大家  # 很简单  # 然后再  # 他和 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Python3.6正式版新特性预览  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  黑客如何通过漏洞一步步攻陷网站服务器?  如何快速搭建个人网站并优化SEO?  python中快速进行多个字符替换的方法小结  免费网站制作appp,免费制作app哪个平台好?  如何在服务器上三步完成建站并提升流量?  Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南  如何快速生成专业多端适配建站电话?  Linux安全能力提升路径_长期防护思维说明【指导】  Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门  重庆市网站制作公司,重庆招聘网站哪个好?  佛山网站制作系统,佛山企业变更地址网上办理步骤?  原生JS实现图片轮播切换效果  javascript中对象的定义、使用以及对象和原型链操作小结  如何登录建站主机?访问步骤全解析  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  高防服务器:AI智能防御DDoS攻击与数据安全保障  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  JS碰撞运动实现方法详解  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  如何快速搭建高效WAP手机网站吸引移动用户?  微信小程序 input输入框控件详解及实例(多种示例)  UC浏览器如何设置启动页 UC浏览器启动页设置方法  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  常州企业网站制作公司,全国继续教育网怎么登录?  Java解压缩zip - 解压缩多个文件或文件夹实例  Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程  Laravel怎么使用artisan命令缓存配置和视图  Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程  如何用AI帮你把自己的生活经历写成一个有趣的故事?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  ChatGPT 4.0官网入口地址 ChatGPT在线体验官网  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  音响网站制作视频教程,隆霸音响官方网站?  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】  简单实现jsp分页  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  微信小程序 配置文件详细介绍  Laravel如何实现一对一模型关联?(Eloquent示例)  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  C++用Dijkstra(迪杰斯特拉)算法求最短路径  消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  Laravel如何为API编写文档_Laravel API文档生成与维护方法  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  如何为不同团队 ID 动态生成多个非值班状态按钮