bootstrap-table表格排序问题

本文探讨了如何避免Bootstrap-table中因字段重复导致的排序失效问题,提供了解决方案,即通过设置formatter函数来确保前一个排序字段的正常工作。

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

bootstrap-table表格排序某个字段排序点击失效的问题:
如果在columns配置中,重复使用了一个字段,但是前面一个字段开启了排序功能,那就会被后面的覆盖掉

var columns = [
      {
        field: 'id',
        title: '序号',
        align: 'center',
        valign: 'middle',
        sortable:true,
      },
	 .....
	{
        field: 'id',//这里会覆盖前面的排序 id字段重复使用
        title: '操作',
        align: 'center',
        valign: 'middle',
      },
];

应该改成:

var columns = [
      {
        field: 'id',
        title: '序号',
        align: 'center',
        valign: 'middle',
        sortable:true,
      },
	 .....
	{
        field: '',//这里改成空,前面id的排序才会起作用
        title: '操作',
        align: 'center',
        valign: 'middle',
        formatter:function(value,rows){
        	//若果这里必须用id,就改用rows
        	return rows.id
        }
    },
];
回答: 在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.youkuaiyun.com/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 ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值