CoreUI DataTable默认按title列升序排序问题求助
解决CoreUI DataTable默认按title列升序排序的问题
嘿,我知道你遇到CoreUI DataTable默认排序不生效的问题了!你之前尝试的sorter={{'resetable': 'ascending'}}其实用错了参数——这个配置是控制排序是否可以重置的,不是用来设置默认排序规则的。
要让表格默认按title列升序展示,你需要做这两步调整:
1. 确保目标字段开启排序功能
先给fields数组里的title字段加上sorter: true,明确这个字段支持排序:
const fields = [ { key: 'title', _classes: 'font-weight-bold', sorter: true }, { key: 'category', _style: { width: '20%'} } ];
2. 设置组件的默认排序属性
在<CDataTable>组件上添加sortBy和sortDesc两个属性:
sortBy指定默认排序的列key(这里就是title)sortDesc设为false表示升序(默认值是true,对应降序)
修改后的完整组件代码:
<CDataTable items={list} fields={fields} columnFilter tableFilter={{ 'placeholder': 'Type something...'}} itemsPerPageSelect itemsPerPage={5} hover sorter pagination sortBy="title" sortDesc={false} />
额外优化建议
如果你的原始list数据本身是无序的,建议在传入组件前先做一次预排序,避免组件初始化时短暂显示无序数据:
// 按title升序预处理数据 const sortedList = [...list].sort((a, b) => a.title.localeCompare(b.title));
这样就能完美实现默认按title列升序展示的效果啦!
内容的提问来源于stack exchange,提问作者Rashed Rahat
相关产品推荐
相关产品推荐

