Skip to content

Commit f1d0fd1

Browse files
committed
feat: remove estimatedItemHeight, use itemHeight
1 parent 3c0b3b0 commit f1d0fd1

File tree

4 files changed

+6
-16
lines changed

4 files changed

+6
-16
lines changed

README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,9 +119,8 @@ plugins: [
119119
| showDoubleQuotes | Show doublequotes on key | boolean | true |
120120
| virtual | Use virtual scroll | boolean | false |
121121
| height | The height of list when using virtual | number | 400 |
122-
| itemHeight | Fixed row height when using virtual (ignored if `dynamicHeight` is true) | number | 20 |
122+
| itemHeight | Fixed row height when using virtual (Estimated row height used before measurement when `dynamicHeight` is true) | number | 20 |
123123
| dynamicHeight | Enable dynamic row heights (measured per row) | boolean | false |
124-
| estimatedItemHeight | Estimated row height used before measurement when `dynamicHeight` is true | number | 20 |
125124
| selectedValue(v-model) | Selected data path | string, array | - |
126125
| rootPath | Root data path | string | `root` |
127126
| nodeSelectable | Defines whether a node supports selection | (node) => boolean | - |

example/VirtualList.vue

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,6 @@
1414
<label>dynamicHeight</label>
1515
<input v-model="state.dynamicHeight" type="checkbox" />
1616
</div>
17-
<div v-if="state.dynamicHeight">
18-
<label>estimatedItemHeight</label>
19-
<input v-model="state.estimatedItemHeight" type="number" />
20-
</div>
2117
<div>
2218
<label>showLine</label>
2319
<input v-model="state.showLine" type="checkbox" />
@@ -106,7 +102,6 @@ export default defineComponent({
106102
collapsedNodeLength: Infinity,
107103
itemHeight: 20,
108104
dynamicHeight: true,
109-
estimatedItemHeight: 20,
110105
});
111106
112107
const { localDarkMode, toggleLocalDarkMode, globalDarkModeState } = useDarkMode();

example/styles.less

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,15 +82,16 @@ body {
8282

8383
.example-box {
8484
display: flex;
85+
gap: 60px;
8586

8687
.title {
8788
text-align: center;
8889
}
8990

9091
.block {
91-
width: 50%;
92+
flex: auto;
9293
&:first-child {
93-
padding-right: 30px;
94+
flex: 0 0 450px;
9495
}
9596
}
9697

src/components/Tree/index.tsx

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,6 @@ export default defineComponent({
5151
type: Boolean,
5252
default: false,
5353
},
54-
// Estimated item height used before measurement in dynamic mode.
55-
estimatedItemHeight: {
56-
type: Number,
57-
default: 20,
58-
},
5954
// When there is a selection function, define the selected path.
6055
// For multiple selections, it is an array ['root.a','root.b'], for single selection, it is a string of 'root.a'.
6156
selectedValue: {
@@ -131,7 +126,7 @@ export default defineComponent({
131126
const initDynamicHeights = (length: number) => {
132127
heights = Array(length)
133128
.fill(0)
134-
.map(() => props.estimatedItemHeight || props.itemHeight || 20);
129+
.map(() => props.itemHeight || 20);
135130
offsets = new Array(length + 1);
136131
offsets[0] = 0;
137132
for (let i = 0; i < length; i++) {
@@ -396,7 +391,7 @@ export default defineComponent({
396391

397392
// Re-initialize dynamic height arrays when data shape changes significantly
398393
watch(
399-
() => [props.dynamicHeight, props.estimatedItemHeight, originFlatData.value.length],
394+
() => [props.dynamicHeight, props.itemHeight, originFlatData.value.length],
400395
() => {
401396
if (props.virtual && props.dynamicHeight) {
402397
initDynamicHeights(flatData.value.length);

0 commit comments

Comments
 (0)