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

element-plus 官方表格排序問題小結(jié)

 更新時(shí)間:2024年10月16日 12:11:07   作者:前端小芬芬  
在使用Element Plus官方API時(shí),表格默認(rèn)排序可能會(huì)遇到問題,一個(gè)列表可能被多次排序影響數(shù)據(jù)展示,解決方法是修改useSortTable.js文件,這樣可以確保表格按預(yù)期正確排序,更多詳情可查閱相關(guān)的技術(shù)文檔或資源

element-plus 官方API 默認(rèn)表格排序存在問題,一個(gè)list 被多組排序

 修改后:

<template>
   <el-table
      :data="stateTable.table.data"
      @sort-change="(data) => handleSort(data, stateTable)"
    >
  </el-table>
<template>
<script setup>
import { reactive } from "vue";
import { copyTableData, handleSort } from "@/hooks/useSortTable.js";
let stateTable = reactive({
  table: {
    border: true,
    currentPage: 1,
    pageSize: 10,
    // 接口返回?cái)?shù)據(jù)
    data: [],
    // 表頭數(shù)據(jù)
    columns: [],
  },
});
const getTableData = async (data) => {
   copyTableData.value = [...stateTable.table.data]
};
getTableData()
</script>

useSortTable.js

import { ref } from "vue";
export const copyTableData = ref([]);
export const sortByFieldDesc = (arr, field, order) => {
  arr.sort((a, b) => {
    const aValue = a?.[field];
    const bValue = b?.[field];
    let numA =
      typeof aValue === "string" && !isNaN(Number(aValue))
        ? Number(aValue)
        : aValue;
    let numB =
      typeof bValue === "string" && !isNaN(Number(bValue))
        ? Number(bValue)
        : bValue;
    if (
      typeof numA === "string" &&
      typeof numB === "string" &&
      !isNaN(Date.parse(numA)) &&
      !isNaN(Date.parse(numB))
    ) {
      // 如果是日期類型的字符串,則按照日期排序
      const dateA = new Date(numA);
      const dateB = new Date(numB);
      if (order === "descending") {
        return dateB - dateA;
      } else {
        return dateA - dateB;
      }
    } else {
      // 非日期類型,按照數(shù)字或其他類型的邏輯排序
      if (order === "descending") {
        return numB - numA;
      } else {
        return numA - numB;
      }
    }
  });
  return arr;
};
// 修改handleSort函數(shù),使其接受stateTable作為參數(shù)
export const handleSort = (data, stateTable) => {
  const { prop, order } = data;
  let reserveData = copyTableData.value.filter(
    (item) =>
      item?.[prop] !== undefined &&
      item?.[prop] !== null &&
      item?.[prop] !== "-"
  );
  let filterData = copyTableData.value.filter(
    (item) =>
      item?.[prop] === undefined ||
      item?.[prop] === null ||
      item?.[prop] === "-"
  );
  if (order !== null) {
    sortByFieldDesc(reserveData, prop, order);
    stateTable.table.data = reserveData.concat(filterData);
  } else {
    stateTable.table.data = [...copyTableData.value];
  }
};

到此這篇關(guān)于element-plus 官方表格排序問題的文章就介紹到這了,更多相關(guān)element-plus 官方表格排序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用JavaScript將JPG格式圖片轉(zhuǎn)為BMP格式的完整代碼

    使用JavaScript將JPG格式圖片轉(zhuǎn)為BMP格式的完整代碼

    這篇文章主要介紹了如何使用JavaScript將JPG圖片轉(zhuǎn)換為BMP圖片,核心邏輯與PNG轉(zhuǎn)BMP一致,僅需調(diào)整文件選擇的accept類型,且JPG無Alpha通道,無需額外處理透明通道,提供了完整的代碼實(shí)現(xiàn),需要的朋友可以參考下
    2025-12-12
  • 改變狀態(tài)欄文字的js代碼

    改變狀態(tài)欄文字的js代碼

    這篇文章主要介紹了通過js如何改變狀態(tài)欄文字,需要的朋友可以了解下
    2014-06-06
  • element-ui組件輸入框之放大鏡搜索圖標(biāo)問題

    element-ui組件輸入框之放大鏡搜索圖標(biāo)問題

    這篇文章主要介紹了element-ui組件輸入框之放大鏡(搜索圖標(biāo))的相關(guān)知識(shí),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-11-11
  • javascript的回調(diào)函數(shù)應(yīng)用示例

    javascript的回調(diào)函數(shù)應(yīng)用示例

    回調(diào)函數(shù)就是一個(gè)通過函數(shù)指針調(diào)用的函數(shù)。下面以示例的方式為大家介紹下其具體的使用
    2014-02-02
  • JavaScript中的值類型詳細(xì)介紹

    JavaScript中的值類型詳細(xì)介紹

    這篇文章主要介紹了JavaScript中的值類型詳細(xì)介紹,本文講解了Primitive、Object、JS自帶全局對(duì)象、Immutable與Mutable等內(nèi)容,需要的朋友可以參考下
    2014-12-12
  • JS WeakMap 詳細(xì)用法從基礎(chǔ)到實(shí)戰(zhàn)指南

    JS WeakMap 詳細(xì)用法從基礎(chǔ)到實(shí)戰(zhàn)指南

    WeakMap是JavaScript中的一個(gè)集合類型,類似于普通的Map,但鍵必須是對(duì)象,當(dāng)鍵對(duì)象不再被引用時(shí),WeakMap會(huì)自動(dòng)將其從集合中刪除,有助于垃圾回收機(jī)制回收內(nèi)存,WeakMap中的鍵是不可以被枚舉的,文章總結(jié)了WeakMap的核心特法、應(yīng)用場(chǎng)景和與Map的區(qū)別,感興趣的朋友一起看看吧
    2026-05-05
  • JavaScript的setter與getter方法

    JavaScript的setter與getter方法

    這篇文章主要為大家詳細(xì)介紹了JavaScript的setter與getter方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • 基于BootStrap Metronic開發(fā)框架經(jīng)驗(yàn)小結(jié)【八】框架功能總體界面介紹

    基于BootStrap Metronic開發(fā)框架經(jīng)驗(yàn)小結(jié)【八】框架功能總體界面介紹

    這篇文章主要介紹了基于BootStrap Metronic開發(fā)框架經(jīng)驗(yàn)小結(jié)【八】框架功能總體界面介紹 的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • 深入理解JavaScript中的宏任務(wù)和微任務(wù)機(jī)制

    深入理解JavaScript中的宏任務(wù)和微任務(wù)機(jī)制

    JavaScript中的任務(wù)分為宏任務(wù)和微任務(wù),它們的執(zhí)行順序會(huì)影響代碼的執(zhí)行結(jié)果。了解它們的機(jī)制可以幫助我們更好地理解事件循環(huán)和異步編程,避免出現(xiàn)一些意想不到的錯(cuò)誤
    2023-05-05
  • js序列化和反序列化的使用講解

    js序列化和反序列化的使用講解

    今天小編就為大家分享一篇關(guān)于js序列化和反序列化的使用講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01

最新評(píng)論

互助| 柞水县| 林口县| 南澳县| 安庆市| 元朗区| 饶平县| 温宿县| 冀州市| 黑山县| 四川省| 澄江县| 新绛县| 阿克| 乌拉特后旗| 临武县| 普定县| 保德县| 隆尧县| 黔东| 襄汾县| 张掖市| 三都| 北碚区| 花垣县| 萝北县| 宣化县| 西平县| 江山市| 抚远县| 夹江县| 吉安市| 区。| 阳新县| 祁连县| 新野县| 岱山县| 吴川市| 南宫市| 兰溪市| 岗巴县|