亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 微信小程序?qū)崿F(xiàn)簽到彈窗動(dòng)畫

    微信小程序?qū)崿F(xiàn)簽到彈窗動(dòng)畫

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)簽到彈窗動(dòng)畫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • 詳談JavaScript內(nèi)存泄漏

    詳談JavaScript內(nèi)存泄漏

    文章從什么是閉包、以及閉包所涉及的作用域鏈說起,講述了JavaScript垃圾回收機(jī)制、循環(huán)引用、循環(huán)引用和閉包、IE中的內(nèi)存泄漏以及解決方法,是篇非常詳盡,非常不錯(cuò)的文章,這里推薦給大家。
    2014-11-11
  • js中的document.querySelector()方法舉例詳解

    js中的document.querySelector()方法舉例詳解

    這篇文章主要給大家介紹了關(guān)于js中document.querySelector()方法的相關(guān)資料,document.querySelector是JavaScript中的一個(gè)內(nèi)置方法,用于通過CSS選擇器選擇文檔中的第一個(gè)匹配元素,需要的朋友可以參考下
    2024-01-01
  • Javascript writable特性介紹

    Javascript writable特性介紹

    這篇文章主要介紹了Javascript writable特性介紹,本文用淺顯易懂的語言講解了writable的特性,需要的朋友可以參考下
    2015-02-02
  • 原生js實(shí)現(xiàn)電商側(cè)邊導(dǎo)航效果

    原生js實(shí)現(xiàn)電商側(cè)邊導(dǎo)航效果

    本文主要分享了原生js實(shí)現(xiàn)電商側(cè)邊導(dǎo)航效果的示例代碼以及原理分析。具有很好的參考價(jià)值,下面跟著小編一起來看下吧
    2017-01-01
  • js使用post 方式打開新窗口

    js使用post 方式打開新窗口

    這篇文章主要介紹了js使用post 方式打開新窗口的相關(guān)資料,需要的朋友可以參考下
    2015-02-02
  • javascript判斷非數(shù)字的簡單例子

    javascript判斷非數(shù)字的簡單例子

    這篇文章介紹了javascript判斷非數(shù)字的簡單例子,有需要的朋友可以參考一下
    2013-07-07
  • 使用JavaScriptCore實(shí)現(xiàn)OC和JS交互詳解

    使用JavaScriptCore實(shí)現(xiàn)OC和JS交互詳解

    JavaScriptCore是webkit的一個(gè)重要組成部分,主要是對JS進(jìn)行解析和提供執(zhí)行環(huán)境。下面這篇文章主要給大家介紹了使用JavaScriptCore實(shí)現(xiàn)OC和JS交互的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考學(xué)習(xí),下面來一起看看吧。
    2017-03-03
  • JavaScript必知必會(huì)(九)function 說起 閉包問題

    JavaScript必知必會(huì)(九)function 說起 閉包問題

    這篇文章主要介紹了JavaScript必知必會(huì)(九)function 說起 閉包問題的相關(guān)資料,需要的朋友可以參考下
    2016-06-06
  • ES6新增數(shù)據(jù)結(jié)構(gòu)WeakSet的用法詳解

    ES6新增數(shù)據(jù)結(jié)構(gòu)WeakSet的用法詳解

    WeakSet和Set類似,同樣是元素不重復(fù)的集合,它們的區(qū)別是WeakSet內(nèi)的元素必須是對象,不能是其它類型。接下來通過本文給大家詳細(xì)介紹ES6新增數(shù)據(jù)結(jié)構(gòu)WeakSet的用法,感興趣的朋友一起看看吧
    2017-08-08

最新評論