vuetify3的v-data-table-virtual表格中的表头如何禁用排序?
以下是目前的代码
<v-data-table-virtual :headers="headers" :items="dataResult" > <template v-slot:item.expense="{item}"> {{ item.expense }} <span style="color: red" v-if="item.isLargeRepair" >(修繕含)</span > </template> </v-data-table-virtual>script:headers: [ { title: '', key: 'time', sortable:false, }, { title: '年間収入', key: 'income' }, { title: '年間支出', key: 'expense' }, { title: 'CF', key: 'cashFlow' }, { title: '累計CF', key: 'cumulativeCashFlow' }, { title: '最終売却損益', key: 'lastFlow' } ],
根据官方给出的文档,我把sortable设成false。但是实际上表头还是能排序,可能是哪里出了问题吗?
顺带一个问题,为什么文档里给出的说明都写着readonly?这个属性不应该是可以写的吗。以下官方文档的片段。
readonly sortable?: boolean | undefined readonly sort?: DataTableCompareFunction<any> | undefined readonly sortRaw?: DataTableCompareFunction<any> | undefined readonly filter?: FilterFunction | undefined
vuetify table的链接:https://vuetifyjs.com/zh-Hans/api/v-data-table-virtual/#props
你需要为每一列设置 sortable: false
:
const headers = [ { title: '时间', key: 'time', sortable: false, }, { title: '年間収入', key: 'income', sortable: false, }, { title: '年間支出', key: 'expense', sortable: false, }, { title: 'CF', key: 'cashFlow', sortable: false, }, { title: '累計CF', key: 'cumulativeCashFlow', sortable: false, }, { title: '最終売却損益', key: 'lastFlow', sortable: false, },]
文档中的 readonly
表示 vuetify
认为这些属性是只读的,即组件内部不会修改他们,但是你仍然可以在外部修改这些属性:
setInterval(() => { headers.value[0].sortable = !headers.value[0].sortable}, 3000)
你的代码看起来应该是正确的,Vuetify 的 v-data-table-virtual
组件的 headers
属性中的 sortable
属性应该能够用来控制每一列的排序。在你的代码中,你已经将 time
列的 sortable
属性设置为 false
,这意味着该列应该不能排序。
然而,如果排序仍然生效,可能的原因有几个:
v-data-table-virtual
组件上使用了 @sort-change
事件并手动改变了排序。headers
中将 sortable
设置为 false
,表格显示的还是排序后的数据。至于你的第二个问题,Vuetify 文档中的 readonly
指的是这些属性是只读的,也就是说,你不能在运行时改变这些属性的值。这些属性在组件创建时就已经确定,并且不能再被改变。然而,这并不意味着你不能在组件的初始化阶段设置这些属性的值。在你的代码中,你应该能够在 headers
中设置 sortable
、sort
、sortRaw
和 filter
的值。
我建议你检查一下上述可能的问题,如果还不能解决,你可能需要更详细地查看你的代码,或者尝试在 Vuetify 的社区或官方论坛中寻求帮助。
本文向大家介绍javascript实现Table排序的方法,包括了javascript实现Table排序的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了javascript实现Table排序的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的javascript程序设计有所帮助。
本文向大家介绍Yii中CGridView禁止列排序的设置方法,包括了Yii中CGridView禁止列排序的设置方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Yii中CGridView禁止列排序的设置方法。分享给大家供大家参考,具体如下: Yii中CGridView的功能是用来显示的数据列表。它支持排序,分页,和AJAX数据请求。 下面的代码演示了CGridView禁止列排序的设置方法
请教大佬们个问题,vue2中我有一个基础的el-table表格,表格里分置顶区域和非置顶区域,需求是置顶区域之间可以互相拖拽排序,非置顶区域可以互相拖拽排序,非置顶和置顶之间不可拖拽排序, 比如1.2.3条数据是置顶的,可以互相拖拽排序,4.5.6是非置顶数据,可以拖拽排序,但1.2.3和4.5.6之间不可互相拖拽,感谢各位大佬解惑
fixed-data-table 是一个用于以灵活且强有力的方式建立并显示数据的 React 组件。它支持标准的桌面特征,像头条、行、列、头条组、滚动列。此组件在处理数千行数据的时不会牺牲性能。平滑地滚定是 FixedDataTable 的首要目的,它的结构保证了它的灵活性和可扩展性。 示例代码: var React = require('react');var FixedDataTable =
Bootstrap Data Table 是 jQuery 表格插件,可以对表格进行排序,分页和过滤。Bootstrap Data Table 使用 Bootstrap 作为样式,使用 FontAwesome 图标作为表格图标。 在线演示
我需要我的使其所有列都可排序,但我不希望通过Shift单击列使其成为多列可排序。有什么办法可以防止这种情况发生吗?