RuoYi-树表格更换

6 篇文章 2 订阅
3 篇文章 0 订阅

目前框架里的树表格是基于基于bootstrapTreeTable/bootstrap-table-treegrid修改而来的,但是有很多Bootstrap Table自带的功能都没有了,而且样式显示也有些问题,所以尝试用Bootstrap Table官网扩展里的treetable来更换一下看效果怎么样
Bootstrap Table官网地址:https://bootstrap-table.com/
TreeGrid jQuery plugin官网地址:http://maxazan.github.io/jquery-treegrid/

下面开始修改

  1. Bootstrap Table官网下载bootstrap-table-treegrid.js或者bootstrap-table-treegrid.min.js,结构如下
    在这里插入图片描述

  2. TreeGrid jQuery plugin官网下载jquery-treegrid源码包,结构如下
    在这里插入图片描述

  3. 页面引入jscss如下

<link th:href="@{/ajax/libs/jquery-treegrid/css/jquery.treegrid.css}" rel="stylesheet"/>
<script th:src="@{/ajax/libs/bootstrap-table/extensions/treegrid/bootstrap-table-treegrid.js}"></script>
<script th:src="@{/ajax/libs/jquery-treegrid/js/jquery.treegrid.js}"></script>
  1. 修改ry-ui.js,如下
    在这里插入图片描述
    在这里插入图片描述
    新加的代码:
idField: options.treeIdField,						// 树表id字段,用于设置父子关系
parentIdField: options.treeParentIdField,			// 树表父id字段,用于设置父子关系
treeShowField: options.treeShowField,				// 树表显示折叠箭头字段
rootParentId: options.treeRootParentId				// 树表显示折叠箭头字段
  1. 初始化表格,这里初始化和普通表格一样,使用方法也一样,只是多加几个参数,参考下面代码
$(function() {
	var options = {
		treeIdField: "id",
        treeParentIdField: "parentId",
        treeShowField: 'name',
        treeRootParentId: "0",
        pagination: false,
        url: prefix + "/list",
        createUrl: prefix + "/add",
        updateUrl: prefix + "/edit/{id}",
        detailUrl: prefix + "/detail/{id}",
        removeUrl: prefix + "/remove",
        exportUrl: prefix + "/export",
        modalName: "商品信息",
        onPostBody: function() {
        	$("#" + table.options.id).treegrid({
        		treeColumn: 1,
        		initialState: 'collapsed',
        		expanderExpandedClass: 'treetable-expander glyphicon glyphicon-chevron-down',
        		expanderCollapsedClass: 'treetable-expander glyphicon glyphicon-chevron-right',
        		onChange: function() {
        			$("#" + table.options.id).bootstrapTable('resetView')
        		}
          	})
         },
         columns: [{
         	checkbox: true
         },
         {
         	field: 'id',
         	title: '主键',
         	visible: false
         },
         {
         	field: 'name',
         	title: '商品名称'
         },
         {
         	title: '操作',
            align: 'center',
            formatter: function(value, row, index) {
            	var actions = [];
            	actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" οnclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
            	actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" οnclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a> ');
            	actions.push('<a class="btn btn-warning btn-xs ' + detailFlag + '" href="javascript:void(0)" οnclick="$.operate.detail(\'' + row.id + '\')"><i class="fa fa-search"></i>详细</a>');
            	return actions.join('');
          	}
         }]
     };
     $.table.init(options);
});
  1. 运行查看效果,样式显示正常,Bootstrap Table原有的功能都可以使用,下面给出一张Bootstrap Table官网的效果图
    在这里插入图片描述

总结:虽然样式和普通表格一致了,功能也都可以使用,但是渲染速度并不如框架之前封装的,测试数据是600多条,如果千级或者万级对比,不好说哪个渲染速度更快,感兴趣的小伙伴可以自己测试一下,如果对框架原本封装的树表组件不太满意的可以试试这种方法

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.李大哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值