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

Vue中如何合并el-table第一列相同數(shù)據(jù)

 更新時間:2023年03月27日 10:38:36   作者:半度納  
這篇文章主要介紹了Vue中如何合并el-table第一列相同數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Vue合并el-table第一列相同數(shù)據(jù)

業(yè)務需求

需要將el-table表格第一列相同的內(nèi)容進行合并。

解決辦法

el-table中使用 :span-method="objectSpanMethod"方法

vue標簽

<el-table :data="contractList" border ?style="width: 100%" :span-method="objectSpanMethod">
?? ? ?<el-table-column label="各部門部1月-12月合同回款情況" align="center">
?? ? ? ?<el-table-column prop="quarterly" ?width="100" align="center" />
?? ? ? ?<el-table-column prop="mon" width="80" align="center" />
?? ? ? ?<el-table-column prop="amountReceived" width="180" align="center" />
?? ? ? ?<el-table-column prop="remark" width="180" align="center" />
?? ? ?</el-table-column>?? ?
</el-table>

methods內(nèi)部處理

/* 表格合并列和行 */
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
?? ??? ?if (columnIndex === 0) {
?? ??? ? ?const _row = this.flitterData(this.contractList).one[rowIndex];
?? ??? ? ?const _col = _row > 0 ? 1 : 0;
?? ??? ? ?return {
?? ??? ? ? ?rowspan: _row,
?? ??? ? ? ?colspan: _col,
?? ??? ? ?};
?? ??? ?}
?? ?},
?? ?/**合并表格的第一列,處理表格數(shù)據(jù) */
?? ?flitterData(arr) {
?? ? ?let spanOneArr = [];
?? ? ?let concatOne = 0;
?? ? ?arr.forEach((item, index) => {
?? ? ? ?if (index === 0) {
?? ? ? ? ?spanOneArr.push(1);
?? ? ? ?} else {
?? ? ? ?//注意這里的quarterly是表格綁定的字段,根據(jù)自己的需求來改
?? ? ? ? ?if (item.quarterly === arr[index - 1].quarterly) {
?? ? ? ? ? ?//第一列需合并相同內(nèi)容的判斷條件
?? ? ? ? ? ?spanOneArr[concatOne] += 1;
?? ? ? ? ? ?spanOneArr.push(0);
?? ? ? ? ?} else {
?? ? ? ? ? ?spanOneArr.push(1);
?? ? ? ? ? ?concatOne = index;
?? ? ? ? ?}
?? ? ? ?}
?? ? ?});
?? ? ?return {
?? ? ? ?one: spanOneArr,
?? ? ?};
?? ?},

效果展示

el-table合并相同單元格問題

項目需求table表格中,相同的類型合并成一個單元格展示。

問題描述

el-table并沒有相關的語法直接合并,需要我們自己傳入一個方法返回一個數(shù)組格式,來確定要合并行列。

效果圖

解決問題

首先需要在 el-table 標簽上綁定:span-method="objectSpanMethod"

<el-table :data="tableData" :span-method="objectSpanMethod" >
    <el-table-column prop="projectName" label="訂單類型" />  
</el-table>

再去methods中定義 objectSpanMethod 方法,data中定義一個rowSpanArr參數(shù)

// 獲取相同名稱的個數(shù) tableData: 表格的數(shù)據(jù), projectName: 確定相同的參數(shù)
handleTableData(tableData){
      let rowSpanArr = [], position = 0;
      for (let [index, item] of tableData.entries()) {
        if (index == 0) {
          rowSpanArr.push(1);
          position = 0;
        } else {
          if (item.projectName == tableData[index - 1].projectName) {
            rowSpanArr[position] += 1; //項目名稱相同,合并到同一個數(shù)組中
            rowSpanArr.push(0);
          } else {
            rowSpanArr.push(1);
            position = index;
          }
        }
      }
      this.rowSpanArr = rowSpanArr
}
// 單元格的處理方法 當前行row、當前列column、當前行號rowIndex、當前列號columnIndex
objectSpanMethod({ row, column, rowIndex, columnIndex }){
     if (columnIndex === 0) {
        const rowSpan = this.rowSpanArr[rowIndex];
        return {
          rowspan: rowSpan, //行
          colspan: 1 //列
        };
      }
}
        

擴展

objectSpanMethod({ row, column, rowIndex, columnIndex }) {
   if (columnIndex === 0) { // 判斷是不是第一列,只有第一列才執(zhí)行合并
      if (rowIndex % 2 === 0) { // 判斷能不能被2整除
          return {
            rowspan: 2, // 從當前單元格開始,執(zhí)行合并2行
            colspan: 1, // 從當前單元格開始,執(zhí)行合并1列
          };
       } else {
         return { // 第一列的其他元素不執(zhí)行合并
           rowspan: 0, // 為0,不執(zhí)行合并
           colspan: 0  // 為0,不執(zhí)行合并
         };
       }
    }
 }

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • mockjs+vue頁面直接展示數(shù)據(jù)的方法

    mockjs+vue頁面直接展示數(shù)據(jù)的方法

    這篇文章主要介紹了mockjs+vue頁面直接展示數(shù)據(jù)的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • vue+tp5實現(xiàn)簡單登錄功能

    vue+tp5實現(xiàn)簡單登錄功能

    這篇文章主要為大家詳細介紹了vue+tp5實現(xiàn)簡單登錄功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Vue+Django項目部署詳解

    Vue+Django項目部署詳解

    這篇文章主要介紹了Vue+Django項目部署詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05
  • Vue?privide?和inject?依賴注入的使用詳解

    Vue?privide?和inject?依賴注入的使用詳解

    這篇文章主要介紹了Vue?privide?和inject?依賴注入的用法,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-10-10
  • Vuepress 搭建帶評論功能的靜態(tài)博客的實現(xiàn)

    Vuepress 搭建帶評論功能的靜態(tài)博客的實現(xiàn)

    這篇文章主要介紹了Vuepress 搭建帶評論功能的靜態(tài)博客的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-02-02
  • Vue通過v-for實現(xiàn)年份自動遞增

    Vue通過v-for實現(xiàn)年份自動遞增

    這篇文章主要為大家詳細介紹了Vue通過v-for實現(xiàn)年份自動遞增,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • Vue如何監(jiān)測數(shù)組類型數(shù)據(jù)發(fā)生改變的(推薦)

    Vue如何監(jiān)測數(shù)組類型數(shù)據(jù)發(fā)生改變的(推薦)

    這篇文章主要介紹了Vue如何監(jiān)測數(shù)組類型數(shù)據(jù)發(fā)生改變的,本文通過實例代碼圖文詳解給大家講解的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-11-11
  • vue實現(xiàn)自定義組件掛載原型上

    vue實現(xiàn)自定義組件掛載原型上

    這篇文章主要介紹了vue實現(xiàn)自定義組件掛載原型上方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Vue3.0 自己實現(xiàn)放大鏡效果案例講解

    Vue3.0 自己實現(xiàn)放大鏡效果案例講解

    這篇文章主要介紹了Vue3.0 自己實現(xiàn)放大鏡效果案例講解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • 用Vue.js在瀏覽器中實現(xiàn)裁剪圖像功能

    用Vue.js在瀏覽器中實現(xiàn)裁剪圖像功能

    在本教程中,我們將探討如何在瀏覽器中使用 JavaScript 庫來操作圖片,為服務器上的存儲做準備,并在 Web 程序中使用。我們將使用 Vue.js 而不是原生 JavaScript來完成此操作,需要的朋友可以參考下
    2019-06-06

最新評論