最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決vue elementUI中table里數(shù)字、字母、中文混合排序問題

 更新時間:2020年01月07日 11:01:47   作者:啦啦迪  
這篇文章主要介紹了vue elementUI中table里數(shù)字、字母、中文混合排序問題,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下

1.使用場景

使用elementUI中的table時,給包含數(shù)字字母中文的名稱等字段排序

例如:數(shù)字(0->9)->大寫字母(A->Z)->小寫字母(a->z)->中文拼音(a->z)

2.代碼解析

<el-table
   ref="multipleTable"
   border
   tooltip-effect="dark"
   class="xg-table"
   style="width: 100%"
   max-height="600">
   <el-table-column
    type="selection"
    width="60" />
   <el-table-column
    :default-sort = "{prop: 'DevName'}"
    :sort-method="sortDevName"
    prop="DevName"
    label="名稱"
    sortable
    show-overflow-tooltip />
</el-table>

設置屬性sortable,會按照自帶的機制排序,不符合我們的預期;

所以增加屬性 sort-method,在方法中自定義排序方式

<script>
  export default {
    methods: {
      sortDevName(str1, str2) {
       let res = 0
       for (let i = 0; ;i++) {
  if (!str1[i] || !str2[i]) {
   res = str1.length - str2.length
   break
  }
  const char1 = str1[i]
  const char1Type = this.getChartType(char1)
  const char2 = str2[i]
  const char2Type = this.getChartType(char2)
  // 類型相同的逐個比較字符
  if (char1Type[0] === char2Type[0]) {
   if (char1 === char2) {
   continue
   } else {
   if (char1Type[0] === 'zh') {
    res = char1.localeCompare(char2)
   } else if (char1Type[0] === 'en') {
    res = char1.charCodeAt(0) - char2.charCodeAt(0)
   } else {
    res = char1 - char2
   }
   break
   }
  } else {
  // 類型不同的,直接用返回的數(shù)字相減
   res = char1Type[1] - char2Type[1]
   break
  }
   }
   return res
  },
  getChartType(char) {
  // 數(shù)字可按照排序的要求進行自定義,我這邊產品的要求是
  // 數(shù)字(0->9)->大寫字母(A->Z)->小寫字母(a->z)->中文拼音(a->z)
   if (/^[\u4e00-\u9fa5]$/.test(char)) {
  return ['zh', 300]
   }
   if (/^[a-zA-Z]$/.test(char)) {
  return ['en', 200]
   }
   if (/^[0-9]$/.test(char)) {
  return ['number', 100]
   }
   return ['others', 999]
  }
    }
  }
</script>

3.頁面效果

 原列表                   ==》》            正序                 ==》》         倒序

總結

以上所述是小編給大家介紹的解決vue elementUI中table里數(shù)字、字母、中文混合排序問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

相關文章

  • vue+vux實現(xiàn)移動端文件上傳樣式

    vue+vux實現(xiàn)移動端文件上傳樣式

    這篇文章主要介紹了vue+vux實現(xiàn)移動端文件上傳樣式,樣式使用的是vux的cell組件,需要的朋友可以參考下
    2017-07-07
  • Vue如何實現(xiàn)自動觸發(fā)功能

    Vue如何實現(xiàn)自動觸發(fā)功能

    這篇文章主要介紹了Vue如何實現(xiàn)自動觸發(fā)功能,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • 為什么vue中不建議使用空字符串作為className

    為什么vue中不建議使用空字符串作為className

    本文主要介紹了為什么vue中不建議使用空字符串作為className,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Vue實現(xiàn)視頻播放vue-video-player、dplayer方式

    Vue實現(xiàn)視頻播放vue-video-player、dplayer方式

    這篇文章主要介紹了Vue實現(xiàn)視頻播放vue-video-player、dplayer方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • Vue 2.X的狀態(tài)管理vuex記錄詳解

    Vue 2.X的狀態(tài)管理vuex記錄詳解

    這篇文章主要介紹了Vue 2.X的狀態(tài)管理vuex記錄的相關資料,文中介紹的非常詳細,對大家的理解和學習具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-03-03
  • Vue.js 中的異步組件是什么及使用異步組件的示例

    Vue.js 中的異步組件是什么及使用異步組件的示例

    異步組件是 Vue.js 中提高應用程序性能和加載速度的重要功能之一,在使用異步組件時,需要注意組件的加載時間、錯誤處理和命名規(guī)范等問題,本文將介紹 Vue.js 中異步組件的概念、優(yōu)勢以及如何使用異步組件,感興趣的朋友一起看看吧
    2023-10-10
  • vuex中能直接修改state嗎

    vuex中能直接修改state嗎

    當我們使用vuex的時候,時不時能看到“更改Vuex中的store中的狀態(tài)唯一辦法就是提交mutations”,但是有沒有試想過,我們不提交mutations其實也能修改state的值?答案是可以的,下面通過本文介紹下vuex修改state值的方法,感興趣的朋友一起看看吧
    2022-11-11
  • Vue-router結合transition實現(xiàn)app前進后退動畫切換效果的實例

    Vue-router結合transition實現(xiàn)app前進后退動畫切換效果的實例

    下面小編就為大家?guī)硪黄猇ue-router結合transition實現(xiàn)app前進后退動畫切換效果的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • vue實現(xiàn)觸底查詢功能

    vue實現(xiàn)觸底查詢功能

    這篇文章主要為大家詳細介紹了vue實現(xiàn)觸底查詢功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • antd日期選擇器禁止選擇當天之前的時間操作

    antd日期選擇器禁止選擇當天之前的時間操作

    這篇文章主要介紹了antd日期選擇器禁止選擇當天之前的時間操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10

最新評論

兴业县| 靖州| 乌兰县| 广灵县| 夏邑县| 武清区| 南陵县| 莱芜市| 孟连| 邵武市| 台东县| 宝应县| 赫章县| 武威市| 崇文区| 淮阳县| 泸溪县| 南岸区| 德庆县| 肥东县| 海宁市| 平潭县| 林西县| 兴安盟| 泰安市| 无为县| 沙湾县| 株洲市| 罗田县| 盐边县| 平阴县| 巴楚县| 平凉市| 津市市| 大田县| 南丹县| 治县。| 黎城县| 巴南区| 柞水县| 光山县|