Skip to content

Commit 229a79d

Browse files
authored
Merge pull request #104 from Simon-He95/bugfix/list-item-unexpectedly-redrawn
fix: prevent unexpected li value attribute rebuilds (#103)
2 parents 325d22c + b00ea58 commit 229a79d

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

src/components/ListItemNode/ListItemNode.vue

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
<script setup lang="ts">
2+
import { computed } from 'vue'
23
import NodeRenderer from '../NodeRenderer'
34
45
// 节点子元素类型
@@ -15,19 +16,28 @@ interface ListItem {
1516
raw: string
1617
}
1718
18-
defineProps<{
19+
const props = defineProps<{
1920
item: ListItem
2021
indexKey?: number | string
22+
value?: number
2123
}>()
2224
2325
defineEmits<{
2426
copy: [text: string]
2527
}>()
28+
29+
const liValueAttr = computed(() =>
30+
props.value == null ? {} : { value: props.value },
31+
)
2632
</script>
2733

2834
<template>
29-
<li class="list-item pl-1.5 my-2" dir="auto">
30-
<NodeRenderer :index-key="`list-item-${indexKey}`" :nodes="item.children" @copy="$emit('copy', $event)" />
35+
<li class="list-item pl-1.5 my-2" dir="auto" v-bind="liValueAttr">
36+
<NodeRenderer
37+
:index-key="`list-item-${props.indexKey}`"
38+
:nodes="props.item.children"
39+
@copy="$emit('copy', $event)"
40+
/>
3141
</li>
3242
</template>
3343

0 commit comments

Comments
 (0)