element-ui中表格設(shè)置正確的排序及設(shè)置默認排序
更新時間:2023年05月05日 11:10:53 作者:魔鬼君
表格中有時候會有排序的需求,下面這篇文章主要給大家介紹了關(guān)于element-ui中表格設(shè)置正確的排序及設(shè)置默認排序的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
本文主要解決兩個問題,第一個,在element-ui中,直接設(shè)置參數(shù)排序,達不到預(yù)期效果,預(yù)期是按照數(shù)字的大小進行排序;第二個,想對表格中某個字段設(shè)置默認的排序方式
現(xiàn)象:
直接設(shè)置在 el-table-column設(shè)置sortable=true,點擊升序降序,結(jié)果是字符串的排序結(jié)果,不是預(yù)期的按照數(shù)字大小排序,結(jié)果如下
<el-table-column :sortable="true" label="學(xué)號" ></el-table-column>


要達到預(yù)期,需要設(shè)置sort-method
<el-table-column
:sortable="true"
:sort-method="sortMethod"
prop="no"
label="學(xué)號"
show-overflow-tooltip
></el-table-column>
// 按照數(shù)字大小排序 方法-
sortMethod(before, after) {
return Number(before.no) - Number(after.no);
},
// 按照數(shù)字大小排序 方法二
sortMethod(before, after) {
return before.no.localeCompare(after.no,"en-u-kn-true")
},預(yù)期結(jié)果如下

此時可能會有進一步的需求,前端設(shè)置默認的排序方式,例如:默認設(shè)置成升序,此處提供兩種
1、初始化數(shù)據(jù)時,先排序再渲染(此處就不展示例子了,直接通過對數(shù)據(jù)排序就行)
2、通過調(diào)整組件參數(shù),直接設(shè)置默認排序方式
在實踐第二種設(shè)置默認排序方式的時候,遇到一個問題,直接設(shè)置default-sort={prop:'no'},基本滿足默認排序的情況,但是會有不太完美的地方,初次進來點擊排序表頭空白處或者是點擊到取消了排序效果時,不會恢復(fù)到默認的排序方式。
針對上面的情況,我們使用sort-change,監(jiān)聽到order不存在的時候,意思就是默認進來或者是排序效果被取消時,我們直接手動的設(shè)置一下排序方式為默認的,下面就是怎么實現(xiàn)
備注:order包含['ascending', 'descending', null]
參考官方文檔: https://element.eleme.cn/2.10/#/zh-CN/component/table
<el-table
ref="table"
:data="tableData2"
tooltip-effect="dark"
@selection-change="handleSelectionChange"
:header-cell-class-name="cellClass"
width="200"
border
:default-sort="{prop:'no'}"
@sort-change="sortChange"
>
sortChange({ column, prop, order }) {
if (!order) {
this.$refs.table.sort("no", "ascending");
}
},預(yù)期結(jié)果,初始化進入頁面就默認的是升序

通過上面的操作,就能達到預(yù)期的效果,此文章只針對前端排序哦,個人愚見,歡迎大家指教
總結(jié)
到此這篇關(guān)于element-ui中表格設(shè)置正確的排序及設(shè)置默認排序的文章就介紹到這了,更多相關(guān)element-ui表格設(shè)置排序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺談一下Vue生命周期中mounted和created的區(qū)別
每一個vue實例從創(chuàng)建到銷毀的過程,就是這個vue實例的生命周期,在這個過程中,他經(jīng)歷了從開始創(chuàng)建、初始化數(shù)據(jù)、編譯模板、掛載Dom、渲染→更新→渲染、卸載等一系列過程,那么這些過程中,具體vue做了些啥,我們今天來了解一下2023-05-05
解決vue.js提交數(shù)組時出現(xiàn)數(shù)組下標的問題
今天小編就為大家分享一篇解決vue.js提交數(shù)組時出現(xiàn)數(shù)組下標的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11
基于elementUI實現(xiàn)圖片預(yù)覽組件的示例代碼
這篇文章主要介紹了基于elementUI實現(xiàn)圖片預(yù)覽組件的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03

