国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Element Plus el-table 自定義合并行和列

這篇具有很好參考價(jià)值的文章主要介紹了Element Plus el-table 自定義合并行和列。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

原文鏈接:Element Plus el-table 自定義合并行和列

前言

目標(biāo)效果是將表格行數(shù)據(jù)中某個(gè)屬性值相同的項(xiàng)合并到一起,效果如下:

Element Plus el-table 自定義合并行和列,vue.js,elementui,javascript

<el-table :data="tableData" :span-method="spanMethod" style="width: 100%">
    <el-table-column prop="StoAlias" label="節(jié)點(diǎn)名稱(chēng)" />
    <el-table-column prop="Name" label="存儲(chǔ)池名稱(chēng)" />
    <el-table-column prop="Type" label="存儲(chǔ)池類(lèi)型" />
    <el-table-column prop="Capacity" label="總?cè)萘? />
    <el-table-column prop="Available" label="可用容量" />
    <el-table-column prop="Used" label="已使用容量" />
    <el-table-column prop="Status" label="狀態(tài)" />
</el-table>
import type { TableColumnCtx } from 'element-plus'

const tableData = [
  { "Available": 0, "Capacity": 0, "Name": "test05", "Status": 0, "StoAlias": "test", "Type": 0, "Used": 0 },
  { "Available": 0, "Capacity": 0, "Name": "test01", "Status": 0, "StoAlias": "169.254.218", "Type": 0, "Used": 0 },
  { "Available": 0, "Capacity": 0, "Name": "tset03", "Status": 0, "StoAlias": "test", "Type": 1, "Used": 0 },
  { "Available": 0, "Capacity": 0, "Name": "test02", "Status": 0, "StoAlias": "test03", "Type": 0, "Used": 0 },
  { "Available": 0, "Capacity": 0, "Name": "test06", "Status": 0, "StoAlias": "test03", "Type": 0, "Used": 0 },
  { "Available": 0, "Capacity": 0, "Name": "test04", "Status": 0, "StoAlias": "169.254.218", "Type": 0, "Used": 0 },
  { "Available": 0, "Capacity": 0, "Name": "test07", "Status": 0, "StoAlias": "169.254.218", "Type": 1, "Used": 0 }
]

let cellList: any[] = [] // 單元格數(shù)組
let count: number = 0 // 計(jì)數(shù)

const computeCell = (tableList: any[]) => {
  cellList = []
  count = 0
  for (let i = 0; i < tableList.length; i++) {
    if (i === 0) {
      // 先設(shè)置第一項(xiàng)
      cellList.push(1); // 初為1,若下一項(xiàng)和此項(xiàng)相同,就往cellList數(shù)組中追加0
      count = 0; // 初始計(jì)數(shù)為0
    } else {
      if (tableList[i].StoAlias == tableList[i - 1].StoAlias) {
        cellList[count] += 1; // 增加計(jì)數(shù)
        cellList.push(0); // 相等就往cellList數(shù)組中追加0
      } else {
        cellList.push(1); // 不等就往cellList數(shù)組中追加1
        count = i; // 將索引賦值為計(jì)數(shù)
      }
    }
  }
}

const sortArray = (x: any, y: any) => {
  if (x.StoAlias < y.StoAlias) { return -1 }
  else if (x.StoAlias > y.StoAlias) { return 1 }
  else { return 0 }
}

interface SpanMethodProps {
  row: StoragePoolItem
  column: TableColumnCtx<StoragePoolItem>
  rowIndex: number
  columnIndex: number
}

const spanMethod = ({
  rowIndex,
  columnIndex,
}: SpanMethodProps) => {
    computeCell(tableData.sort(sortArray))
    if (columnIndex === 0) {
      const fRow = cellList[rowIndex]
      const fCol = fRow > 0 ? 1 : 0
      return {
        rowspan: fRow, // 合并的行數(shù)
        colspan: fCol // 合并的列數(shù),為0表示不顯示
      }
    }
}

sortArray()此方法根據(jù)目標(biāo)屬性值(StoAlias)排序了。

點(diǎn)擊 傳送門(mén) 查看更多關(guān)于【el-table 合并行或列】的信息。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-532126.html

到了這里,關(guān)于Element Plus el-table 自定義合并行和列的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Element ui el-table 合并單元格

    ? el-table v-loading=\\\"loading\\\" :data=\\\"tableData\\\" style=\\\"width: 100%\\\" highlight-current-row :span-method=\\\"arraySpanMethod\\\" ? ? ? ? el-table-column type=\\\"index\\\" label=\\\"序號(hào)\\\" / ? ? ? ? el-table-column v-for=\\\"item in formThead\\\" :key=\\\"item.label\\\" :label=\\\"item.label\\\" :prop=\\\"item.prop\\\" :formatter=\\\"item.formatter\\\" :width=\\\"item.width || \\\'auto\\\'\\\" / ? ? ? ?

    2024年02月02日
    瀏覽(29)
  • Element Plus二次封裝el-table、可編輯表格

    Element Plus二次封裝el-table、可編輯表格

    一、需求 在后臺(tái)管理項(xiàng)目中,可以顯而易見(jiàn)的見(jiàn)到表格組件,為了方便我們會(huì)把表格組件進(jìn)行二次封裝,即方便了開(kāi)發(fā),也方便了維護(hù)。 2023年04月01日更新單元格編輯功能 擴(kuò)展 el-table 擴(kuò)展【表格動(dòng)態(tài)列展示】 整合版本,附帶查詢(xún),分頁(yè),表頭自定義展示,等其他功能。 注

    2024年02月07日
    瀏覽(28)
  • element-ui中的el-table合并單元格

    element-ui中的el-table合并單元格

    在寫(xiě)項(xiàng)目的時(shí)候有時(shí)候會(huì)經(jīng)常遇到把行和列合并起來(lái)的情況,因?yàn)橛行?shù)據(jù)是重復(fù)渲染的,不合并行列會(huì)使表格看起來(lái)非常的混亂,如下: ?而我們想要的數(shù)據(jù)是下面這種情況,將重復(fù)的行進(jìn)行合并,使表格看起來(lái)簡(jiǎn)單明了,如下: ? 1:html部分 所謂的合并行就是將多行相同

    2024年02月10日
    瀏覽(28)
  • element-plus el-table 點(diǎn)擊單行修改背景色

    element-plus + el-table 點(diǎn)擊行選中并修改背景色+文字顏色 方法一: 重點(diǎn): highlight-current-row element-plus 本身有給提供這個(gè)功能,而且比第二個(gè)方法更好用,第二個(gè)方法在有列固定的情況下,樣式會(huì)不生效,所以建議直接用第一種 方法二: 重點(diǎn): @row-click :row-style

    2024年02月15日
    瀏覽(35)
  • element-ui el-table 如何實(shí)現(xiàn)合并單元格

    el-table的組件的可以合并單元格,先定義參數(shù)span-method 方法objectSpanMethod。在方法內(nèi)控制當(dāng)前單元格渲染成幾個(gè)單元格或者刪除掉當(dāng)前單元格。 比如:代碼中定義:span-method=\\\"objectSpanMethod\\\" objectSpanMethod實(shí)現(xiàn)是在方法區(qū),具體內(nèi)容是根據(jù)變量rowSpanList 去決定當(dāng)前單元格是展示還是刪

    2024年02月03日
    瀏覽(32)
  • Element plus el-table 鼠標(biāo)滾動(dòng)失靈的問(wèn)題及解決辦法

    Element plus el-table 鼠標(biāo)滾動(dòng)失靈的問(wèn)題及解決辦法

    Bug:ElementUI el-table 鼠標(biāo)滾輪下滑動(dòng)失靈的情況 我測(cè)出來(lái)的這個(gè)問(wèn)題條件很苛刻,需要達(dá)到以下幾個(gè)條件才會(huì)觸發(fā): 1.element plus(其他版本沒(méi)試) 2.el-table-column組件有fixed屬性時(shí) 3.template標(biāo)簽中有el-button,并且el-button有size=“small”時(shí) 4.我的瀏覽器縮放(Ctrl+滾輪)達(dá)到110%時(shí) 會(huì)

    2024年02月13日
    瀏覽(41)
  • Element UI Table實(shí)現(xiàn)可編輯表格+校驗(yàn)(行和行,列和列)

    Element UI Table實(shí)現(xiàn)可編輯表格+校驗(yàn)(行和行,列和列)

    Table: TablePersonPicker: 輸入校驗(yàn): 效果圖: ? ?

    2024年02月15日
    瀏覽(20)
  • element-plus el-table、動(dòng)態(tài)添加、刪除行、input輸入框

    模板部分,使用 el-table 元素作為表格容器,綁定 data 屬性傳入表格數(shù)據(jù)。用 v-for 指令遍歷每一項(xiàng)數(shù)據(jù),使用普通文本或 el-input 組件渲染每個(gè)單元格。表格最后一列為操作列,包含 “Add” 和 “Delete” 兩個(gè)按鈕,點(diǎn)擊它們可以增加或刪除數(shù)據(jù)行: 邏輯部分,定義 tableData 數(shù)據(jù)

    2024年02月06日
    瀏覽(21)
  • 論element-ui表格的合并行和列(巨細(xì)節(jié))

    論element-ui表格的合并行和列(巨細(xì)節(jié))

    ? 作為一個(gè)后端來(lái)寫(xiě)前端屬實(shí)是痛苦、講真的、剛開(kāi)始我是真不想用餓了么的這個(gè)合并行和列、因?yàn)樘Z(yǔ)焉不詳了、看著頭疼、后來(lái)發(fā)現(xiàn)好像我沒(méi)得選、只好硬著頭皮上了。 效果圖: 代碼: 這里只展示關(guān)鍵代碼 先看看它們是怎么完成這個(gè)的: ? 首先,看似是合并了行、實(shí)

    2023年04月13日
    瀏覽(18)
  • [element-ui] el-table表格合并 span-method

    element 中表格合并 span-method 函數(shù)詳解

    2024年02月13日
    瀏覽(31)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包