Skip to content

Commit 3bb7103

Browse files
committed
feat: optimiaze code
1 parent 1ae0749 commit 3bb7103

File tree

2 files changed

+8
-79
lines changed

2 files changed

+8
-79
lines changed

src/components/Tree.js

Lines changed: 0 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -158,59 +158,17 @@ export default {
158158
methods: {
159159
walk(root = this.root) {
160160
const {children = []} = root
161-
// const {selected: parentSelected} = data
162-
// let isSelectedAll = false
163-
// let partialSelected = false
164161
children?.forEach(child => {
165162
const { data } = child
166163
// eslint-disable-next-line no-debugger
167164
// debugger
168165
if (data.selected) {
169166
this.refreshUp(child)
170-
171-
// if (!data.parent.data.isSelected) {
172-
// }
173167
this.refreshDown(child)
174168
} else {
175169
this.walk(child)
176170
}
177-
// 如果父级节点选中
178-
// if (parentSelected) {
179-
// data.selected = parentSelected
180-
// } else {
181-
// isSelectedAll = data.isSelected
182-
// }
183-
// if (!partialSelected) {
184-
// partialSelected = data.isSelected
185-
})
186-
},
187-
nodeView (node, level) {
188-
const {name, selected, disabled, partialSelected} = node?.data ?? {}
189-
return (name && <div style={`margin-left: ${level * 10}px; display: inline-block`}>
190-
{ partialSelected && `-`}
191-
<input type='checkbox' disabled={disabled} checked={selected} onClick={() => this.selectToggle(node)}/>
192-
{name}
193-
</div>)
194-
},
195-
getNode(paths) {
196-
let node = this.root
197-
// eslint-disable-next-line no-debugger
198-
// debugger
199-
// 通过索引找到对应的元素
200-
paths.forEach((path) => {
201-
node = node.children[path]
202171
})
203-
return node
204-
},
205-
getView(node, level){
206-
// const node = this.getNode(paths)
207-
// eslint-disable-next-line no-debugger
208-
// debugger
209-
const currentNode = this.nodeView(node, level)
210-
return (<div>
211-
{currentNode}
212-
{node?.children?.map((child) => this.getView(child, level+1))}
213-
</div>)
214172
},
215173
refreshUp({parent}){
216174
if (!parent) return
@@ -231,16 +189,6 @@ export default {
231189
this.refreshDown(child)
232190
})
233191
},
234-
selectToggle(node){
235-
236-
console.log("1:", node)
237-
Object.assign(node.data, {selected: !node.isSelected(), partialSelected: false})
238-
console.log("2:", node)
239-
this.refreshUp(node)
240-
console.log("3:", node)
241-
this.refreshDown(node)
242-
console.log("4:", node)
243-
}
244192
},
245193
render () {
246194
return (

src/components/TreeNode.js

Lines changed: 8 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11

22

3-
// const TREE_DATA = {selected: false, partialSelected: false}
4-
53
import Emitter from '../mixins/Emitter'
64
export default {
75
name: 'TreeNode',
@@ -26,24 +24,6 @@ export default {
2624
// }
2725
// },
2826
methods: {
29-
nodeView (node, level) {
30-
const {name, selected, disabled, partialSelected} = node?.data ?? {}
31-
return (name && <div style={`margin-left: ${level * 10}px; display: inline-block`}>
32-
{ partialSelected && `-`}
33-
<input type='checkbox' disabled={disabled} checked={selected} onClick={() => this.selectToggle(node)}/>
34-
{name}
35-
</div>)
36-
},
37-
getView(node, level){
38-
// const node = this.getNode(paths)
39-
// eslint-disable-next-line no-debugger
40-
// debugger
41-
const currentNode = this.nodeView(node, level)
42-
return (<div>
43-
{currentNode}
44-
{node?.children?.map((child) => this.getView(child, level+1))}
45-
</div>)
46-
},
4727
refreshUp({parent}){
4828
if (!parent) return
4929
const toState = parent.isAllChildrenSelected()
@@ -64,17 +44,18 @@ export default {
6444
})
6545
},
6646
selectToggle(node){
67-
68-
console.log("1:", node)
6947
Object.assign(node.data, {selected: !node.isSelected(), partialSelected: false})
70-
console.log("2:", node)
7148
this.refreshUp(node)
72-
console.log("3:", node)
7349
this.refreshDown(node)
74-
console.log("4:", node)
50+
},
51+
nodeView (node, level) {
52+
const {name, selected, disabled, partialSelected} = node?.data ?? {}
53+
return (name && <div style={`margin-left: ${level * 10}px; display: inline-block`}>
54+
{ partialSelected && `-`}
55+
<input type='checkbox' disabled={disabled} checked={selected} onClick={() => this.selectToggle(node)} />
56+
{name}
57+
</div>)
7558
}
76-
77-
7859
},
7960

8061
render () {

0 commit comments

Comments
 (0)