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

vue2+elementUI表格實(shí)現(xiàn)實(shí)現(xiàn)多列動(dòng)態(tài)合并

這篇具有很好參考價(jià)值的文章主要介紹了vue2+elementUI表格實(shí)現(xiàn)實(shí)現(xiàn)多列動(dòng)態(tài)合并。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

vue2+elementUI表格實(shí)現(xiàn)實(shí)現(xiàn)多列動(dòng)態(tài)合并,elementui,前端,javascript文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-525020.html

<template>
    <el-table :data="tableData" border max-height="800" :span-method="objectSpanMethod">
        <el-table-column type="index" width="50">
        </el-table-column>
        <el-table-column prop="id" label="id" width="150"></el-table-column>
        <el-table-column prop="cloudTypeName" label="資質(zhì)證書編號(hào)" width="200"></el-table-column>
        <el-table-column prop="accName" label="資質(zhì)名稱" width="250"></el-table-column>
        <el-table-column prop="crashAmount" label="發(fā)證日期" width="130"></el-table-column>
        <el-table-column prop="creditAmount" label="	發(fā)證有效期" width="130"></el-table-column>
        <el-table-column prop="availaleAmount" label="	發(fā)證機(jī)關(guān)" width="178"></el-table-column>

    </el-table>
</template>
  
<script>
export default {
    name: 'demo',
    data() {
        return {
            tableData: [
                {
                    id: 1,
                    cloudTypeName: "阿里云",
                    accName: "glodon_gm1",
                    crashAmount: 0.1,
                    creditAmount: 240000.0,
                    availaleAmount: 83548.66,
                },
                {
                    id: 2,
                    cloudTypeName: "阿里云",
                    accName: "glodon_gm1",
                    crashAmount: 0.0,
                    creditAmount: 150000.0,
                    availaleAmount: 83548.66,
                },
                {
                    id: 3,
                    cloudTypeName: "阿里云",
                    accName: "glodon_gm1",
                    crashAmount: 0.0,
                    creditAmount: 150000.0,
                    availaleAmount: 53045.89,
                },
                {
                    id: 4,
                    cloudTypeName: "阿里云",
                    accName: "glodon_gm4",
                    crashAmount: 0.0,
                    creditAmount: 1351000.0,
                    availaleAmount: 1244354.9,
                },
                {
                    id: 5,
                    cloudTypeName: "阿里云",
                    accName: "glodon_gm4",
                    crashAmount: 0.0,
                    creditAmount: 0.0,
                    availaleAmount: -5033739.0,
                },
                {
                    id: 5,
                    cloudTypeName: "阿里云",
                    accName: "glodon_gm5",
                    crashAmount: 0.0,
                    creditAmount: 0.0,
                    availaleAmount: -5033739.0,
                },
                {
                    id: 5,
                    cloudTypeName: "阿里云",
                    accName: "glodon_gm5",
                    crashAmount: 0.0,
                    creditAmount: 0.0,
                    availaleAmount: -5033739.0,
                },
            ],
            // 那個(gè)字段寫在前面就以哪個(gè)為開始,
            needMergeArr: ["cloudTypeName","accName", "crashAmount", "creditAmount"],

            rowMergeArrs: [],
        }
    },
    mounted() {
        this.rowMergeArrs = this.rowMergeHandle(this.needMergeArr, this.tableData);
        console.log('數(shù)據(jù)', this.rowMergeArrs)
    },
    methods: {
        rowMergeHandle(arr, data) {
            if (!Array.isArray(arr) && !arr.length) return false;
            if (!Array.isArray(data) && !data.length) return false;
            let needMerge = {};
            arr.forEach((i, idx) => {
                needMerge[i] = {
                    rowArr: [],
                    rowMergeNum: 0,
                };
                if (idx == 0) {
                    data.forEach((item, index) => {
                        // 表格首個(gè)數(shù)據(jù)單獨(dú)處理
                        if (index === 0) {
                            needMerge[i].rowArr.push(1);
                            needMerge[i].rowMergeNum = 0;
                        } else {
                            if (item[i] === data[index - 1][i]) {
                                needMerge[i].rowArr[needMerge[i].rowMergeNum] += 1;
                                needMerge[i].rowArr.push(0);
                            } else {
                                needMerge[i].rowArr.push(1);
                                needMerge[i].rowMergeNum = index;
                            }
                        }
                    });
                } else {
                    let firstRowArr = needMerge[arr[0]].rowArr;
                    let firstRowArrDeal = [];
                    firstRowArr.forEach((item, index) => {
                        if (item > 0) {
                            firstRowArrDeal.push(index);
                        }
                    });
                    data.forEach((item, index) => {
                        let sign = false;
                        if (firstRowArrDeal.indexOf(index) > 0) {
                            needMerge[i].rowMergeNum = index;
                            sign = true;
                        }
                        // 表格首個(gè)數(shù)據(jù)單獨(dú)處理
                        if (index === 0) {
                            needMerge[i].rowArr.push(1);
                            needMerge[i].rowMergeNum = 0;
                        } else {
                            if (item[i] === data[index - 1][i]) {
                                if (sign) {
                                    needMerge[i].rowArr.push(1);
                                } else {
                                    needMerge[i].rowArr[needMerge[i].rowMergeNum] += 1;
                                    needMerge[i].rowArr.push(0);
                                }
                            } else {
                                needMerge[i].rowArr.push(1);
                                needMerge[i].rowMergeNum = index;
                            }
                        }
                    });
                }
            });
            return needMerge;
        },
        objectSpanMethod({ row, column, rowIndex, columnIndex }) {
            for (let res in this.needMergeArr) {
                if (this.needMergeArr[res] == column.property) {
                    return this.mergeAction(column.property, rowIndex, columnIndex);
                }
            }
        },
        mergeAction(val, rowIndex) {
            let _row = this.rowMergeArrs[val].rowArr[rowIndex];
            let _col = _row > 0 ? 1 : 0;
            return [_row, _col];
        },
    }
}
</script>
<style scoped></style>
  

到了這里,關(guān)于vue2+elementUI表格實(shí)現(xiàn)實(shí)現(xiàn)多列動(dòng)態(tài)合并的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(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)文章

  • vue2:elementUI中Form 表單在特定情況下做動(dòng)態(tài)rules添加刪除

    vue2:elementUI中Form 表單在特定情況下做動(dòng)態(tài)rules添加刪除

    先看需求: (不想看的直接拉到最后) ?【需求說(shuō)明】 6、如狀態(tài)為上架時(shí),庫(kù)存為必填,下架狀態(tài)時(shí),庫(kù)存為可填,前面無(wú)星號(hào) 實(shí)現(xiàn)方法:使用this.$set()和this.$delete() 上代碼: 由于設(shè)計(jì)商業(yè)隱私,代碼只上傳一部分: ? 表單data中原來(lái)的rules: 不添加上下架狀態(tài)的rules 在

    2023年04月08日
    瀏覽(25)
  • Vue + ElementUI 實(shí)現(xiàn)可編輯表格及校驗(yàn)

    Vue + ElementUI 實(shí)現(xiàn)可編輯表格及校驗(yàn)

    完整代碼見文末 使用兩個(gè)表單分別用于實(shí)現(xiàn)修改和新增處理。 通過(guò)一個(gè) editIndex 變量判斷是否是編輯狀態(tài)來(lái)決定是否展示輸入框,當(dāng)點(diǎn)擊指定行的修改后進(jìn)行設(shè)置即可: 通過(guò)隱藏表頭實(shí)現(xiàn)新增表格和修改表格的合并,同時(shí)表格數(shù)據(jù)只有 addRow : 當(dāng)無(wú)數(shù)據(jù)時(shí)只展示新增行: 通

    2024年02月14日
    瀏覽(17)
  • Vue+ElementUI技巧分享:結(jié)合Sortablejs實(shí)現(xiàn)表格行拖拽

    Vue+ElementUI技巧分享:結(jié)合Sortablejs實(shí)現(xiàn)表格行拖拽

    在很多動(dòng)態(tài)網(wǎng)頁(yè)應(yīng)用中,用戶界面的交互性是提高用戶體驗(yàn)的關(guān)鍵。在 Vue.js 中,結(jié)合 Element UI 和 sortablejs ,我們可以輕松實(shí)現(xiàn)表格的行拖拽功能。本文將演示如何在 Vue 項(xiàng)目中使用這些工具,并在拖拽后將數(shù)據(jù)更新到后端服務(wù)系統(tǒng)。 確保你的項(xiàng)目中已經(jīng)安裝了 Element UI 和

    2024年02月04日
    瀏覽(20)
  • ElementUI之動(dòng)態(tài)樹+數(shù)據(jù)表格+分頁(yè)->動(dòng)態(tài)樹,動(dòng)態(tài)表格

    ElementUI之動(dòng)態(tài)樹+數(shù)據(jù)表格+分頁(yè)->動(dòng)態(tài)樹,動(dòng)態(tài)表格

    動(dòng)態(tài)樹 動(dòng)態(tài)表格 1.動(dòng)態(tài)樹 2.動(dòng)態(tài)表格 ?

    2024年02月07日
    瀏覽(23)
  • Node+MySQL+Vue2.0+elementUI實(shí)現(xiàn)的博客管理系統(tǒng)(一)

    Node+MySQL+Vue2.0+elementUI實(shí)現(xiàn)的博客管理系統(tǒng)(一)

    前端部分: Vue項(xiàng)目的入口文件main.js: 路由文件router.js 登錄頁(yè)面: 項(xiàng)目主頁(yè): left:

    2024年02月16日
    瀏覽(30)
  • vue2 Elementui 樹形組件怎么實(shí)現(xiàn)多選并獲取選中節(jié)點(diǎn)的node對(duì)象

    vue2 Elementui 樹形組件怎么實(shí)現(xiàn)多選并獲取選中節(jié)點(diǎn)的node對(duì)象

    一.前言 樹形組件是我們經(jīng)常用到的組件,主要場(chǎng)景就是:公司后臺(tái)管理的部門管理,做文章目錄等。 二.常用的幾種方法及說(shuō)明 1.node-click:節(jié)點(diǎn)被點(diǎn)擊時(shí)的回調(diào) 共三個(gè)參數(shù),依次為:傳遞給? data ?屬性的數(shù)組中該節(jié)點(diǎn)所對(duì)應(yīng)的對(duì)象、 節(jié)點(diǎn)對(duì)應(yīng)的 Node 、節(jié)點(diǎn)組件本身。 2.c

    2024年02月16日
    瀏覽(19)
  • Vue elementui 實(shí)現(xiàn)表格selection的默認(rèn)勾選,翻頁(yè)記錄勾選狀態(tài)

    Vue elementui 實(shí)現(xiàn)表格selection的默認(rèn)勾選,翻頁(yè)記錄勾選狀態(tài)

    需求:當(dāng)彈出一個(gè)列表頁(yè)數(shù)據(jù),對(duì)其進(jìn)行篩選選擇。 主要使用 toggleRowSelection 代碼如下: 上面代碼實(shí)現(xiàn)了數(shù)據(jù)刷新后勾選已經(jīng)選擇的數(shù)據(jù),但是當(dāng)新選擇數(shù)據(jù)后翻頁(yè),新選擇的數(shù)據(jù)無(wú)法保存記錄。 row-key :行數(shù)據(jù)的 Key,用來(lái)優(yōu)化 Table 的渲染;在使用 reserve-selection 功能與顯示

    2024年02月11日
    瀏覽(20)
  • Vue2+ElementUI的el-table實(shí)現(xiàn)新增數(shù)據(jù)行與刪除的功能

    Vue2+ElementUI的el-table實(shí)現(xiàn)新增數(shù)據(jù)行與刪除的功能

    TableIndex.vue 如下 新增 按鈕添加數(shù)據(jù)行 刪除 按鈕提示是否繼續(xù)刪除

    2024年04月23日
    瀏覽(20)
  • Vue+EleMentUI實(shí)現(xiàn)el-table-colum表格select下拉框可編輯

    Vue+EleMentUI實(shí)現(xiàn)el-table-colum表格select下拉框可編輯

    在進(jìn)行采購(gòu)入庫(kù)的過(guò)程中,有必要對(duì)表格中的一行進(jìn)行快速編輯保存,節(jié)省時(shí)間,提高工作效率!,而不是每次編輯都要彈窗才可編輯 源碼:https://gitee.com/charlinchenlin/store-pos 控制是否顯示select下拉框 如果showInput的值與當(dāng)前的inboundId相同,則顯示下拉選項(xiàng),否則顯示數(shù)據(jù)信息

    2024年02月01日
    瀏覽(26)
  • vue2&Element-ui實(shí)現(xiàn)表格單元格合并

    vue2&Element-ui實(shí)現(xiàn)表格單元格合并

    由于項(xiàng)目需要實(shí)現(xiàn)單元格合并目前只是單頁(yè)沒(méi)有做分頁(yè)處理先上效果圖 看下數(shù)據(jù)結(jié)構(gòu) Element table提供的api arraySpanMethod columnIndex=0表示從第一列開始 rowIndex表示需要操作的行數(shù) 同濟(jì)醫(yī)院加上合計(jì)有12行從0開始=11 判斷條件是rowIndex余12===0 我們打印一下 或者改成 表示從0開始到1

    2024年02月12日
    瀏覽(37)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包