解決el-table中文按拼音排序和英文大小寫排序問題


el-table排序默認是使用的unicode編碼,在中文排序或英文大小寫混用的情況下需要我們手動自己處理。

  • 中文排序,我們想要按照拼音順序排列,需要用到javascript的  localeCompare  方法。
    // dom編寫
    <el-table-column prop="name" label="名稱" align="center" :sortable="true" :sort-method="sortName" />
    // methods中方法定義
    sortAuthor(a, b) {
       return a.name.localeCompare(b.name)
    }
  • 英文大小寫均存在時排序,例如自帶的排序升序時,會按照unicode編碼先排大寫然后小寫,如果我們想要忽略大小寫排序時需要自定義方法如下:
    // dom編寫
    <el-table-column prop="englishName" label="英文名稱" align="center" :sortable="true" :sort-method="sortEnglishName" />
    // methods中方法定義
    sortEnglishName(a, b) {
       let res = 0
       const char1 = a.englishName.toUpperCase()
       const char2 = b.englishName.toUpperCase()
       res = char1.charCodeAt(0) - char2.charCodeAt(0)
       return res
    }

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM