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

Vue表格首列相同數(shù)據(jù)合并實現(xiàn)方法

 更新時間:2023年04月20日 11:10:57   作者:愛學習de測試小白  
這篇文章主要介紹了Vue實現(xiàn)表格首列相同數(shù)據(jù)合并的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

前言

本篇來學習下table表格中合并首列相同數(shù)據(jù)的實現(xiàn)方法

表格首列相同數(shù)據(jù)合并

1. 添加文件

1.src/views 下新建mergeCell.vue文件,代碼如下:

<template>
  <div id="app">
    <el-table
            :data="tableData"
            :span-method="(param)=>objectSpanMethod(param)"
            style="width: 100%; margin-top: 20px">
            <el-table-column
                prop="type_test"
                label="類型"               
                align='center'>
            </el-table-column>
            <el-table-column
                prop="type_spec"
                label="模塊"
                align='center'
                >
            </el-table-column>
            <el-table-column
                prop="is_execute"
                label="是否執(zhí)行"
                align='center'
               >
                <template slot-scope="scope">
                    <span v-if="scope.row.is_execute == true">已執(zhí)行</span>
                    <span v-if="scope.row.is_execute == false">未執(zhí)行</span>
                </template>
            </el-table-column>
            <el-table-column
                prop="result_status"
                label="結果"
                align='center'
               >
                <template slot-scope='scope'>
                    <el-tag :type="scope.row.result_status | ResultFilter">
                        {{scope.row.result_status}}
                    </el-tag>
                </template>
            </el-table-column>
            <el-table-column
                prop="created_at"
                label="創(chuàng)建時間"
                align='center'
               >
                <template slot-scope="scope">
                {{ scope.row.created_at}}
            </template>
            </el-table-column>
        </el-table>
  </div>
</template>
<script>

export default {
    filters:{
        ResultFilter(status) {
        const ongSteadyMap = {
            SUCCESS: 'success',
            FAILURE: 'danger',
            NA: 'primary',
            ABORTED:'info',
            FAIL:'danger',
            None: 'warning'
      }
      return ongSteadyMap[status]
    },
      },
    data() {
        return {
            tableData:[
                {
                    "id": 1,
                    "created_at": "2023-06-18 11:51:07",
                    "updated_at": "2023-04-18 11:51:07",
                    "type_test": "功能測試",
                    "type_spec": "登錄",
                    "is_execute": true,
                    "result_status": "SUCCESS"
                },
                {
                    "id": 2,
                    "created_at": "2023-06-18 11:51:07",
                    "updated_at": "2023-06-18 11:51:07",
                    "type_test": "功能測試",
                    "type_spec": "退出",
                    "cr_id": "",
                    "is_execute": true,
                    "result_status": "SUCCESS"
                },
                {
                    "id": 3,
                    "created_at": "2023-06-18 11:51:07",
                    "updated_at": "2023-06-18 11:51:07",
                    "type_test": "接口測試",
                    "type_spec": "登錄",
                    "cr_id": "",
                    "is_execute": false,
                    "result_status": "N/A"
                },
                {
                    "id": 4,
                    "created_at": "2023-06-18 11:51:07",
                    "updated_at": "2023-06-18 11:51:07",
                    "type_test": "接口測試",
                    "type_spec": "退出",
                    "cr_id": "",
                    "is_execute": true,
                    "result_status": "FAIL"
                }
            ]
        };
    },
    methods: {
        objectSpanMethod({ row, column, rowIndex, columnIndex }) {
            console.log('objectSpanMethod',row, column, rowIndex, columnIndex)
            if (columnIndex === 0) {
                    const _row = this.flitterData(this.tableData).one[rowIndex];
                    const _col = _row > 0 ? 1 : 0;
                    return {
                        rowspan: _row,
                        colspan: _col,
                    };
		    }
        },
        flitterData(arr) {
            // 合并表格第一列
            let spanOneArr = [];
            let concatOne = 0;
            arr.forEach((item, index) => {

                if (index === 0) {
                    spanOneArr.push(1);
                    }
                else {
                    console.log('item',item,index)
                    console.log('arr',arr[index-1])
                    // 這里的type_test是表格綁定的字段,也就是需要合并的字段,根據(jù)自己的需求來改
                    if (item.type_test == arr[index -1].type_test) {
                        // 第一列需合并相同內容的判斷條件
                        spanOneArr[concatOne] += 1;
                        spanOneArr.push(0);
                    } else {
                        spanOneArr.push(1);
                        concatOne = index;
                    }

                }
            });
            return {
                one: spanOneArr,
            };
        },
        
    }
};
</script>

2. 添加路徑

在router下添加,如下路徑

{
    path: '/mergeCell',
    component: Layout,
    children: [
      {
        path: 'mergeCell',
        name: 'mergeCell',
        component: () => import('@/views/mergeCell.vue'),
        meta: { title: 'mergeCell', icon: 'form' }
      }
    ]
  },

3. 查看效果

npm run dev 運行,效果如下圖

在這里插入圖片描述

到此這篇關于Vue實現(xiàn)表格首列相同數(shù)據(jù)合并的文章就介紹到這了,更多相關vue合并table表格內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 在Vue組件上動態(tài)添加和刪除屬性方法

    在Vue組件上動態(tài)添加和刪除屬性方法

    下面小編就為大家分享一篇在Vue組件上動態(tài)添加和刪除屬性方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • vue-router兩種模式區(qū)別及使用注意事項詳解

    vue-router兩種模式區(qū)別及使用注意事項詳解

    這篇文章主要介紹了vue-router兩種模式區(qū)別及使用注意事項,結合實例形式詳細分析了vue-router兩種模式hash模式與history模式的區(qū)別、用法與操作注意事項,需要的朋友可以參考下
    2019-08-08
  • 如何解決vue-json-editor無法輸入中文、重影問題

    如何解決vue-json-editor無法輸入中文、重影問題

    文章介紹了如何解決vue-json-editor組件無法輸入中文和重影的問題,通過修改源碼并使用vue-json-edit-fix-cn組件來 fix 這兩個問題,同時,文章還提供了如何移除舊的依賴包并安裝新的依賴包的步驟
    2025-01-01
  • vue中v-for循環(huán)給標簽屬性賦值的方法

    vue中v-for循環(huán)給標簽屬性賦值的方法

    這篇文章主要介紹了vue中v-for循環(huán)給標簽屬性賦值的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-10-10
  • vue+echarts實現(xiàn)數(shù)據(jù)實時更新

    vue+echarts實現(xiàn)數(shù)據(jù)實時更新

    這篇文章主要為大家詳細介紹了vue+echarts實現(xiàn)數(shù)據(jù)實時更新,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • vue中的虛擬dom知識點總結

    vue中的虛擬dom知識點總結

    這篇文章主要介紹了vue中的虛擬dom知識點總結,文章圍繞主題內容展開詳細介紹,需要的小伙伴可以參考一下,希望對你的學習有所幫助
    2022-04-04
  • 使用echarts柱狀圖實現(xiàn)select下拉刷新數(shù)據(jù)

    使用echarts柱狀圖實現(xiàn)select下拉刷新數(shù)據(jù)

    這篇文章主要介紹了使用echarts柱狀圖實現(xiàn)select下拉刷新數(shù)據(jù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • 手寫可拖動穿梭框組件CustormTransfer vue實現(xiàn)示例

    手寫可拖動穿梭框組件CustormTransfer vue實現(xiàn)示例

    這篇文章主要為大家介紹了手寫可拖動穿梭框組件CustormTransfer vue實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • 使用vite發(fā)布app存在的所有問題解決方法

    使用vite發(fā)布app存在的所有問題解決方法

    最近項目中使用了vue3+vite開發(fā)一個App項,下面這篇文章主要給大家介紹了關于使用vite發(fā)布app存在的所有問題的解決方法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • Element el-upload上傳組件使用詳解

    Element el-upload上傳組件使用詳解

    本文主要介紹了Element el-upload上傳組件使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04

最新評論

黎城县| 堆龙德庆县| 清徐县| 孟连| 大洼县| 客服| 晋宁县| 罗源县| 唐海县| 彭山县| 汝阳县| 新营市| 武胜县| 图们市| 阿鲁科尔沁旗| 岱山县| 广平县| 射阳县| 江川县| 浮梁县| 大足县| 麟游县| 靖远县| 讷河市| 万载县| 石阡县| 广河县| 西盟| 阳原县| 石家庄市| 陆河县| 江永县| 峨眉山市| 加查县| 南岸区| 长沙市| 江山市| 香河县| 德格县| 巢湖市| 乌拉特中旗|