日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

vue+element UI實現樹形表格

瀏覽:117日期:2022-10-14 16:49:51

本文實例為大家分享了vue+element UI實現樹形表格的具體代碼,供大家參考,具體內容如下

一、在component文件夾下新建如下treeTable文件夾,里面有2個文件:

vue+element UI實現樹形表格

eval.js:將數據轉換成樹形數據

/*** @Author: jianglei* @Date: 2017-10-12 12:06:49*/’use strict’import Vue from ’vue’export default function treeToArray(data, expandAll, parent = null, level = null) { let tmp = [] Array.from(data).forEach(function(record) { if (record._expanded === undefined) { Vue.set(record, ’_expanded’, expandAll) } let _level = 1 if (level !== undefined && level !== null) { _level = level + 1 } Vue.set(record, ’_level’, _level) // 如果有父元素 if (parent) { Vue.set(record, ’parent’, parent) } tmp.push(record) if (record.children && record.children.length > 0) { const children = treeToArray(record.children, expandAll, record, _level) tmp = tmp.concat(children) } }) return tmp}

index.vue:樹形表格組件

<template> <el-table :data='formatData' :row- v-bind='$attrs'> <el-table-column v-if='columns.length===0' width='150'> <template slot-scope='scope'> <span v-for='space in scope.row._level' :key='space' /> <span v-if='iconShow(0,scope.row)' @click='toggleExpanded(scope.$index)'> <i v-if='!scope.row._expanded' /> <i v-else /> </span> {{ scope.$index }} </template> </el-table-column> <el-table-column v-for='(column, index) in columns' v-else :key='column.value' :label='column.text' :width='column.width'> <template slot-scope='scope'> <!-- Todo --> <!-- eslint-disable-next-line vue/no-confusing-v-for-v-if --> <span v-for='space in scope.row._level' v-if='index === 0' :key='space' /> <span v-if='iconShow(index,scope.row)' @click='toggleExpanded(scope.$index)'> <i v-if='!scope.row._expanded' /> <i v-else /> </span> {{ scope.row[column.value] }} </template> </el-table-column> <slot/> </el-table></template> <script>/** Auth: Lei.j1ang Created: 2018/1/19-13:59*/import treeToArray from './eval';export default { name: 'TreeTable', props: { /* eslint-disable */ data: { type: [Array, Object], required: true }, columns: { type: Array, default: () => [] }, evalFunc: Function, evalArgs: Array, expandAll: { type: Boolean, default: false } }, computed: { // 格式化數據源 formatData: function() { let tmp; if (!Array.isArray(this.data)) { tmp = [this.data]; } else { tmp = this.data; } const func = this.evalFunc || treeToArray; const args = this.evalArgs ? Array.concat([tmp, this.expandAll], this.evalArgs) : [tmp, this.expandAll]; return func.apply(null, args); } }, methods: { showRow: function(row) { const show = row.row.parent ? row.row.parent._expanded && row.row.parent._show : true; row.row._show = show; return show ? 'animation:treeTableShow 1s;-webkit-animation:treeTableShow 1s;' : 'display:none;'; }, // 切換下級是否展開 toggleExpanded: function(trIndex) { const record = this.formatData[trIndex]; record._expanded = !record._expanded; }, // 圖標顯示 iconShow(index, record) { return index === 0 && record.children && record.children.length > 0; } }};</script><style rel='stylesheet/css'>@keyframes treeTableShow { from { opacity: 0; } to { opacity: 1; }}@-webkit-keyframes treeTableShow { from { opacity: 0; } to { opacity: 1; }}</style> <style scoped>.ms-tree-space { position: relative; top: 1px; display: inline-block; font-style: normal; font-weight: 400; line-height: 1; width: 18px; height: 14px;}.ms-tree-space::before { content: '';}.processContainer { width: 100%; height: 100%;}table td { line-height: 26px;}.tree-ctrl { position: relative; cursor: pointer; color: #2196f3; margin-left: -18px;}</style>

二、在需要的地方引入該組件

例如:在component文件夾下新建a.vue:

<tree-table :data='data' :columns='columns' border/>import treeTable from './TreeTable';components: { treeTable },data() { return { columns: [ { text: '事件', value: 'event', width: 200 }, { text: 'ID', value: 'id' }, { text: '時間線', value: 'timeLine' }, { text: '備注', value: 'comment' } ], data: [ { id: 0, event: '事件1', timeLine: 50, comment: '無' }, { id: 1, event: '事件1', timeLine: 100, comment: '無', children: [ { id: 2, event: '事件2', timeLine: 10, comment: '無' }, { id: 3, event: '事件3', timeLine: 90, comment: '無', children: [{ id: 4, event: '事件4', timeLine: 5, comment: '無'},{ id: 5, event: '事件5', timeLine: 10, comment: '無'},{ id: 6, event: '事件6', timeLine: 75, comment: '無', children: [ { id: 7, event: '事件7', timeLine: 50, comment: '無', children: [ { id: 71, event: '事件71', timeLine: 25, comment: 'xx' }, { id: 72, event: '事件72', timeLine: 5, comment: 'xx' }, { id: 73, event: '事件73', timeLine: 20, comment: 'xx' } ] }, { id: 8, event: '事件8', timeLine: 25, comment: '無' } ]} ] } ] } ] }; },

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Vue
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲不卡视频| 99综合视频| 中文字幕一区二区三区四区久久 | 国产毛片精品| 男女精品网站| 中文字幕高清在线播放| 中文无码日韩欧| 亚洲欧美成人综合| 欧美成人基地| 青青青免费在线视频| 国产劲爆久久| 久久av影视| 日韩成人一级| 亚洲aa在线| 欧美va亚洲va日韩∨a综合色| 国产精品久久久久久久久久久久久久久 | 久久不卡日韩美女| 亚洲精品高潮| 日韩av一区二区三区四区| 久久成人亚洲| 亚洲精品系列| aa国产精品| 老色鬼久久亚洲一区二区| 在线视频免费在线观看一区二区| 日本不良网站在线观看| 午夜精品成人av| 99久久九九| 美女精品一区| 日韩欧美2区| 日本成人中文字幕| 久久精品九色| 999久久久精品国产| 亚洲美洲欧洲综合国产一区| 色在线视频观看| 亚洲性视频h| 亚洲三级av| 欧美亚洲tv| 国产美女高潮在线观看| 亚洲欧洲一区二区天堂久久| 五月激情久久| 日韩欧美三区| 久久久久久网| 另类av一区二区| 欧美精品三级在线| 国产精品毛片一区二区在线看| 久久九九99| 午夜亚洲福利| 欧美www视频在线观看| 午夜国产精品视频| 91精品国产自产精品男人的天堂| 精品国产精品久久一区免费式| 欧美二区视频| 欧美日韩伊人| 好看的亚洲午夜视频在线| 国产精品日本| 中文字幕色婷婷在线视频| 一区二区三区午夜视频| 欧美丰满日韩| 国产丝袜一区| av一区二区高清| 日韩国产在线观看| 蜜臀久久精品| 国产精品一区二区三区www| 亚洲黄页一区| 欧美国产偷国产精品三区| 日本欧美久久久久免费播放网| 日韩中文影院| 日韩国产一区二| 国产精品日韩| 日本一二区不卡| 国产欧美激情| 日韩精品一区二区三区免费视频| 在线人成日本视频| 国产在视频一区二区三区吞精| 欧美va天堂在线| 午夜欧美巨大性欧美巨大| 国产欧美日韩影院| 日韩精品免费一区二区夜夜嗨| 91tv亚洲精品香蕉国产一区| 国内精品美女在线观看| 欧美交a欧美精品喷水| 日韩欧美中文字幕一区二区三区 | 精品三区视频| 国产欧美日韩免费观看| 伊人久久婷婷| 亚洲福利专区| 亚洲成人三区| 午夜精品一区二区三区国产| 久久久蜜桃一区二区人| 日韩免费av| 一区二区三区视频免费观看| 亚洲综合在线电影| 亚洲黄色影院| 日本久久二区| 麻豆精品在线| 亚洲高清激情| 日韩综合小视频| 在线观看亚洲精品福利片| 国产免费成人| 婷婷视频一区二区三区| 国产欧美日韩精品一区二区三区| 欧美精品aa| 精品欧美久久| 日日夜夜免费精品视频| 国产极品嫩模在线观看91精品| 国产v日韩v欧美v| 午夜电影亚洲| 国产精品白丝一区二区三区| 四虎884aa成人精品最新| 日韩中文字幕不卡| 老司机免费视频一区二区三区| 日韩欧美看国产| 在线日韩电影| 国产日韩中文在线中文字幕| 欧美激情麻豆| 日韩欧美字幕| 91在线成人| 亚洲成人不卡| 视频一区免费在线观看| av免费不卡国产观看| 久久国产精品毛片| 中文字幕在线高清| 国产伦精品一区二区三区千人斩| 国产99在线| 国产视频一区二区在线播放| 九九综合在线| 国产aⅴ精品一区二区四区| 日韩欧美一区二区三区在线观看| 亚洲欧美久久久| 精品一二三区| 日韩三级视频| 日韩国产欧美视频| 中文不卡在线| 青草综合视频| 精品国产乱码久久久久久樱花| 国产一区二区三区久久| 日韩精品91| 一区二区自拍| 四虎精品一区二区免费| 国产激情欧美| 精品视频久久| 中文一区一区三区免费在线观 | 久久久777| 欧美日韩一视频区二区| 国产a久久精品一区二区三区| 人在线成免费视频| 日韩中文欧美在线| 国产精品一区二区精品| 久久久精品网| 欧美日韩视频免费观看| 免费视频最近日韩| 日韩精品1区| 亚洲精品大全| 99精品电影| 亚洲成人va| 麻豆国产欧美日韩综合精品二区| 自由日本语亚洲人高潮| 国产福利一区二区精品秒拍 | 日本精品在线播放| 精品国产不卡| 亚洲精品成人一区| 久久青草久久| 国产一区调教| 国产美女亚洲精品7777| 日韩av中文字幕一区二区| 午夜欧美精品| 欧美99久久| 韩国三级一区| 亚洲精品第一| 一区二区自拍| 亚洲网站视频| 秋霞国产精品| 免费在线小视频| 成人精品动漫一区二区三区| 老鸭窝毛片一区二区三区| 精品日本视频| 精品网站999| 麻豆高清免费国产一区| 你懂的亚洲视频| 麻豆成人综合网| 欧美国产专区| 日韩精品2区| 91久久久精品国产| 午夜一级久久| 久久国产精品99国产| 国产亚洲毛片在线| 男人操女人的视频在线观看欧美| 婷婷综合网站| 亚洲一区二区三区无吗| 91亚洲国产高清| 国产精品xx| 欧美日韩四区| 中文字幕日本一区二区| 日韩av中文字幕一区二区三区| 日韩精品视频一区二区三区| 国产精品中文| 久久国产成人午夜av影院宅| 一区二区亚洲视频| 亚洲黑丝一区二区| 欧美欧美黄在线二区|