From f9668fb29c2e7e3f0369bf0e35a83c7cdb55c6b4 Mon Sep 17 00:00:00 2001 From: liugq Date: Wed, 13 Feb 2019 14:14:12 +0800 Subject: [PATCH] add custom feature like checkbox --- src/components/TreeTable/eval.js | 19 ++- src/components/TreeTable/index.vue | 60 +++++---- src/components/TreeTable/readme.md | 20 ++- src/views/table/treeTable/customEval.js | 48 ------- src/views/table/treeTable/customTreeTable.vue | 126 +++++++++++------- 5 files changed, 142 insertions(+), 131 deletions(-) delete mode 100644 src/views/table/treeTable/customEval.js diff --git a/src/components/TreeTable/eval.js b/src/components/TreeTable/eval.js index dcb8fe24..96d16832 100644 --- a/src/components/TreeTable/eval.js +++ b/src/components/TreeTable/eval.js @@ -1,24 +1,29 @@ import Vue from 'vue' // 给数据添加额外的几个属性,并且扁平化数组 -export default function formatData( +export default function treeToTable( data, - { parent = null, leavel = 0, expand = false } = {} + { parent = null, leavel = 0, expand = false, children = 'children', show = true, select = false } = {} ) { - console.log('data', data) let tmp = [] data.forEach(item => { Vue.set(item, '__leavel', leavel) Vue.set(item, '__expand', expand) Vue.set(item, '__parent', parent) + Vue.set(item, '__show', show) + Vue.set(item, '__select', select) tmp.push(item) - if (item.children && item.children.length > 0) { - const children = formatData(item.children, { + if (item[children] && item[children].length > 0) { + const res = treeToTable(item[children], { parent: item, - leavel: leavel + 1 + leavel: leavel + 1, + expand, + children, + status, + select }) - tmp = tmp.concat(children) + tmp = tmp.concat(res) } }) return tmp diff --git a/src/components/TreeTable/index.vue b/src/components/TreeTable/index.vue index 5421fb51..ef171194 100644 --- a/src/components/TreeTable/index.vue +++ b/src/components/TreeTable/index.vue @@ -1,26 +1,30 @@