File tree Expand file tree Collapse file tree 6 files changed +11
-12
lines changed Expand file tree Collapse file tree 6 files changed +11
-12
lines changed Original file line number Diff line number Diff line change @@ -120,7 +120,7 @@ plugins: [
120
120
| itemHeight | The height of node when using virtual | number | 20 |
121
121
| selectedValue(v-model) | Selected data path | string, array | - |
122
122
| rootPath | Root data path | string | ` root ` |
123
- | pathSelectable | Defines whether a path supports selection | (path, content ) => boolean | - |
123
+ | nodeSelectable | Defines whether a node supports selection | (node ) => boolean | - |
124
124
| selectableType | Support path select, default none | ` multiple ` \| ` single ` | - |
125
125
| showSelectController | Show the select controller | boolean | false |
126
126
| selectOnClickNode | Trigger select when click node | boolean | true |
Original file line number Diff line number Diff line change 13
13
| 属性 | 说明 | 类型 | 默认值 |
14
14
| ------------------------ | ------------------------------------------- | --------------------------------- | ------------- |
15
15
| data(v-model) | 源数据,注意不是 ` JSON ` 字符串 | ` JSON ` 数据对象 | - |
16
- | deep | 深度,大于该深度的路径将被折叠 | number | Infinity |
16
+ | deep | 深度,大于该深度的节点将被折叠 | number | Infinity |
17
17
| showLength | 在数据折叠的时候展示长度 | boolean | false |
18
18
| showLine | 展示标识线 | boolean | true |
19
19
| showLineNumber | 展示行计数 | boolean | false |
24
24
| itemHeight | 使用虚拟滚动时,定义节点高度 | number | 20 |
25
25
| selectedValue(v-model) | 双向绑定选中的数据路径 | string, array | string, array |
26
26
| rootPath | 定义最顶层数据路径 | string | ` root ` |
27
- | pathSelectable | 定义哪些数据路径可以被选择 | function(path, content) | - |
27
+ | nodeSelectable | 定义哪些数据节点可以被选择 | function(node) | - |
28
28
| selectableType | 定义选择功能,默认无 | ` multiple ` \| ` single ` | - |
29
29
| showSelectController | 展示选择器 | boolean | false |
30
30
| selectOnClickNode | 支持点击节点的时候触发选择 | boolean | true |
Original file line number Diff line number Diff line change 78
78
:show-line-number =" state.showLineNumber"
79
79
:select-on-click-node =" state.selectOnClickNode"
80
80
:collapsed-on-click-brackets =" state.collapsedOnClickBrackets"
81
- :path -selectable =" (path, data) => typeof state.data !== 'number'"
81
+ :node -selectable =" node => typeof node.content !== 'number'"
82
82
:selectable-type =" state.selectableType"
83
83
:show-select-controller =" state.showSelectController"
84
84
:show-icon =" state.showIcon"
Original file line number Diff line number Diff line change 29
29
</div >
30
30
</div >
31
31
<div class =" block" >
32
- <h3 >vue-json-pretty(1000 + items):</h3 >
32
+ <h3 >vue-json-pretty(10000 + items):</h3 >
33
33
<vue-json-pretty
34
34
:virtual =" true"
35
35
:item-height =" +state.itemHeight"
@@ -52,7 +52,7 @@ const defaultData = {
52
52
data: [],
53
53
};
54
54
55
- for (let i = 0 ; i < 1000 ; i++ ) {
55
+ for (let i = 0 ; i < 10000 ; i++ ) {
56
56
defaultData .data .push ({
57
57
news_id: i,
58
58
title: ' iPhone X Review: Innovative future with real black technology' ,
Original file line number Diff line number Diff line change @@ -77,6 +77,7 @@ export default defineComponent({
77
77
'update:selectedValue' ,
78
78
'update:data' ,
79
79
] ,
80
+
80
81
setup ( props , { emit, slots } ) {
81
82
const treeRef = ref < HTMLElement > ( ) ;
82
83
@@ -264,7 +265,7 @@ export default defineComponent({
264
265
showLineNumber = { props . showLineNumber }
265
266
showSelectController = { props . showSelectController }
266
267
selectOnClickNode = { props . selectOnClickNode }
267
- pathSelectable = { props . pathSelectable }
268
+ nodeSelectable = { props . nodeSelectable }
268
269
highlightSelectedNode = { props . highlightSelectedNode }
269
270
editable = { props . editable }
270
271
editableTrigger = { props . editableTrigger }
Original file line number Diff line number Diff line change @@ -47,8 +47,8 @@ export const treeNodePropsPass = {
47
47
default : true ,
48
48
} ,
49
49
// When using the selectableType, define whether current path/content is enabled.
50
- pathSelectable : {
51
- type : Function as PropType < ( path : string , content : unknown ) => boolean > ,
50
+ nodeSelectable : {
51
+ type : Function as PropType < ( node : NodeDataType ) => boolean > ,
52
52
default : ( ) : boolean => true ,
53
53
} ,
54
54
// Highlight current node when selected.
@@ -119,9 +119,7 @@ export default defineComponent({
119
119
120
120
// Whether the current node supports the selected function.
121
121
const selectable = computed (
122
- ( ) =>
123
- props . pathSelectable ( props . node . path , props . node . content ) &&
124
- ( isMultiple . value || isSingle . value ) ,
122
+ ( ) => props . nodeSelectable ( props . node ) && ( isMultiple . value || isSingle . value ) ,
125
123
) ;
126
124
127
125
const state = reactive ( {
You can’t perform that action at this time.
0 commit comments