10000 feat: add checkStrickly · Create-Peace/light-vue-tree@bc01ebf · GitHub
[go: up one dir, main page]

Skip to content

Commit bc01ebf

Browse files
committed
feat: add checkStrickly
1 parent 4f433e5 commit bc01ebf

File tree

2 files changed

+20
-6
lines changed

2 files changed

+20
-6
lines changed

src/components/Tree.js

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
const TREE_DATA = {selected: false, partialSelected: false, expanded: false}
44
class TreeData{
55
constructor(data){
6+
console.log(data)
67
this.data = {...TREE_DATA, ...data}
78
this.children = []
89
}
@@ -123,12 +124,12 @@ const demeData = [
123124
}
124125
]
125126

126-
const generateNode = (data) => {
127+
const generateNode = (data, props) => {
127128
const {children, ...rest} = data
128-
const node = new TreeData(rest)
129+
const node = new TreeData({...rest, ...props}) // TODO 初始化带有 expandedAll
129130
children.forEach((child) => {
130131
// eslint-disable-next-line no-debugger
131-
node.addChild(generateNode(child))
132+
node.addChild(generateNode(child, props))
132133
})
133134
return node
134135
}
@@ -140,15 +141,25 @@ export default {
140141
components: {
141142
TreeNode
142143
},
144+
props: {
145+
expandedAll: {
146+
type: Boolean,
147+
default: true
148+
},
149+
checkStrictly: {
150+
type: Boolean,
151+
default: false
152+
}
153+
},
143154
data () {
144155
const dataOrr = {
145156
children: demeData
146157
}
158+
147159
return {
148160
// isTree: true,
149161
dataMap: {},
150-
root: generateNode(dataOrr)
151-
162+
root: generateNode(dataOrr, {expanded: this.expandedAll})
152163
}
153164
},
154165
created() {
@@ -157,6 +168,7 @@ export default {
157168
},
158169
methods: {
159170
walk(root = this.root) {
171+
if (this.checkStrictly) return
160172
const {children = []} = root
161173
children?.forEach(child => {
162174
const { data } = child

src/components/TreeNode.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ export default {
3838
methods: {
3939
selectToggle(node){
4040
Object.assign(node.data, {selected: !node.isSelected(), partialSelected: false})
41+
if (this.tree.checkStrictly) {
42+
return
43+
}
4144
this.tree.refreshUp(node)
4245
this.tree.refreshDown(node)
4346
},
@@ -61,7 +64,6 @@ export default {
6164

6265
render () {
6366
const { node, level } = this
64-
console.log(node)
6567
const currentNode = this.nodeView(node, level)
6668
return (<div>
6769
{currentNode}

0 commit comments

Comments
 (0)
0