【若依(ruoyi)】Bootstrap-Table的使用

本文详细介绍了若依(ruoyi)框架中对Bootstrap-Table的封装,包括如何简化初始化、操作表格以及支持多个表格的方法。讲解了如何通过$.table对象进行操作,如初始化表格、获取表格数据、根据ID获取行数据等,并给出了实例代码。此外,还展示了如何在表格中设置操作列并获取点击事件的this对象。参考链接提供了更多相关资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

  • ruoyi 4.6

若依(ruoyi)将 Bootstrap-Table 进行了封装。与原生的 Bootstrap-Table 使用有些区别,但区别不大。

若依(ruoyi)对 Bootstrap-Table 的封装

若依(ruoyi)封装 Bootstrap-Table 的代码在ruoyi-ui.js中。

若依(ruoyi)封装 Bootstrap-Table 的对象为$.table。通过$.table操作 Bootstrap-Table 得到了简化,且支持单页面中包含多个 Bootstrap-Table 。

比如:初始化 Bootstrap-Table

$.table.init(options);

对封装后的 Bootstrap-Table 的表格的使用,参考官方文档:https://doc.ruoyi.vip/ruoyi/document/qdsc.html#表格使用

若依(ruoyi)对多个 Bootstrap-Table 的支持

options 存放

table.config中存放多个 table 的配置参数。

查看配置参数:

console.log(table.config);
console.log($.table.getOptionsIds());

在这里插入图片描述
获取第1个table的配置参数:

/* bootstrap-table1是table元素的ID */
table.set('bootstrap-table1');
console.log(table.options);

ps:推荐这个方式

或:

/* bootstrap-table1是table元素的ID */
console.log(table.config['bootstrap-table1']);

使用 Bootstrap-Table 原生方式

  1. 获取所有数据
console.log($('#bootstrap-table1').bootstrapTable('getData'));

在这里插入图片描述
2. 根据ID获取某一行的数据
获取所有数据,然后遍历。这个方法 可行,但是还有更好的方法,使用 Bootstrap-Table 的 getRowByUniqueId 方法。

先确保初始化table时,带上了参数 uniqueId:'userId',

$(function() {
    var options = {
        id: "bootstrap-table1",
        toolbar: "toolbar1",
        url: prefix + "/list",
        createUrl: prefix + "/add",
        removeUrl: prefix + "/remove",
        updateUrl: prefix + "/edit/{id}",
        modalName: "用户",
        uniqueId:'userId',
        columns: [{
            checkbox: true
        },
        {
            field : 'userId', 
            title : '用户ID'
        },
        ...
        }]
    };
    $.table.init(options);
});

使用 getRowByUniqueId 方法:

console.log($('#bootstrap-table1').bootstrapTable('getRowByUniqueId',1));

在这里插入图片描述

获取 this

        $(function() {
            var options = {
                url: prefix + "/list",
                createUrl: prefix + "/add",
                updateUrl: prefix + "/edit/{id}",
                removeUrl: prefix + "/remove",
                exportUrl: prefix + "/export",
                modalName: "会员",
                uniqueId:'id',
                columns: [{
                    checkbox: true
                },
                {
                    field: 'id',
                    title: 'id',
                    visible: false
                },
                {
                    field: 'sn',
                    title: '会员编号'
                },
               ...
                {
                    title: '操作',
                    align: 'center',
                    formatter: function(value, row, index) {
                        var actions = [];
                        actions.push('<a class="btn btn-danger btn-xs ' + editFlag + '" href="javascript:void(0)" οnclick="resetMemberAccountPassword(this)" data-id="'+row.id+'" data-name="'+row.nickName+'"><i class="fa fa-edit"></i>重置密码</a> ');
		                return actions.join('');
                    }
                }]
            };
            $.table.init(options);
        });
        
        function resetMemberAccountPassword(e) {
        	let thisObj = e;
        	let id = thisObj.dataset.id;
        	let nickName= thisObj.dataset.name;
        	alert("id:"+id+", nickName:"+nickName);
        });

还可以:

        $(function() {
            var options = {
                url: prefix + "/list",
                createUrl: prefix + "/add",
                updateUrl: prefix + "/edit/{id}",
                removeUrl: prefix + "/remove",
                exportUrl: prefix + "/export",
                modalName: "会员",
                uniqueId:'id',
                columns: [{
                    checkbox: true
                },
                {
                    field: 'id',
                    title: 'id',
                    visible: false
                },
                {
                    field: 'sn',
                    title: '会员编号'
                },
               ...
                {
                    title: '操作',
                    align: 'center',
                    formatter: function(value, row, index) {
                        var actions = [];
                        actions.push('<a class="btn btn-danger btn-xs ' + editFlag + '" href="javascript:void(0)" οnclick="resetMemberAccountPassword()" data-id="'+row.id+'" data-name="'+row.nickName+'"><i class="fa fa-edit"></i>重置密码</a> ');
		                return actions.join('');
                    }
                }]
            };
            $.table.init(options);
        });
        
        function resetMemberAccountPassword() {
        	let thisObj = event.currentTarget;
        	let id = thisObj.dataset.id;
        	let nickName= thisObj.dataset.name;
        	alert("id:"+id+", nickName:"+nickName);
        });

参考

https://blog.csdn.net/qq_38410795/article/details/85261638
https://www.bootstrap-table.com.cn
https://bootstrap-table.com

回答: 在Bootstrap-Table中,可以使用sortName和sortOrder属性来实现表格的排序功能。当sortName属性设置为"sort",sortOrder属性设置为"desc"时,会生成一个order by子句,按照sort字段降序排列。例如,当使用以下代码初始化表格时: ``` $(function() { var options = { url: prefix + "/list", sortName: "sort", sortOrder: "desc", }; $.table.init(options); }); ``` 生成的sql语句为: ``` SELECT * FROM xxx order by sort desc LIMIT ? ``` 如果需要多个字段排序,可以在sortName属性中使用逗号分隔多个字段,并在sortOrder属性中留空。例如: ``` $(function() { var options = { url: prefix + "/list", sortName: "sort desc,id asc", sortOrder: "", }; $.table.init(options); }); ``` 生成的sql语句为: ``` SELECT * FROM xxx order by sort desc,id asc LIMIT ? ``` 需要注意的是,sortName属性中的字段名会被转换为下划线命名格式(驼峰命名转下划线),例如orderNum会被转换为order_num。所以在sortName属性中应该使用转换后的字段名。参考\[2\] #### 引用[.reference_title] - *1* *2* *3* [【若依(ruoyi)Bootstrap-Table表格排序](https://blog.csdn.net/sayyy/article/details/122616970)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值