javascript - 未捕获的类型错误:无法设置只有一个 getter 的 # 属性树
问题描述
我正在使用 Vue 3,<script setup>
但在尝试使用组件时出现错误。
在 Vue 2 中,它是这样工作的:
<template>
<Tree />
</template>
<script>
import { Tree, Fold, Draggable } from 'he-tree-vue'
export default {
components: {
Tree: Tree.mixPlugins([ Fold, Draggable ])
},
}
</script>
我想使用 Vue 3 执行此操作,<script setup>
但出现此错误:
未捕获的类型错误:无法设置只有一个 getter 的 # 属性树
<template>
<Tree />
</template>
<script setup>
import { Tree, Fold, Draggable } from 'he-tree-vue'
Tree = Tree.mixPlugins([ Fold, Draggable ]) // This is causing an error
</script>
解决方案
尝试重新分配导入时似乎会出现问题。不要重新分配它,而是重命名Tree
导入,然后导出您自己的Tree
常量:
<template>
<Tree :value="treeData">
<template v-slot="{ node, path, tree }">
<span>
<b @click="tree.toggleFold(node, path)">
{{node.$folded ? '+' : '-'}}
</b>
{{node.text}}
</span>
</template>
</Tree>
</template>
<script setup>
import { Tree as HeTree, Fold, Draggable } from 'he-tree-vue'
const Tree = HeTree.mixPlugins([ Fold, Draggable ])
const treeData = [{text: 'node 1'}, {text: 'node 2', children: [{text: 'node 2-1'}]}]
</script>
推荐阅读
- node.js - Nodejs护照会话未保存
- leaflet - 添加多边形时传单中的警告
- oracle - 调用另一个存储过程并设置为局部变量并使用类似表
- java - 在 IntelliJ IDEA 的调试模式下设置 final 字段的值
- php - 如何将数据传递到 foreach 中,其中 id 是使用 laravel 的 foreach 的标头?
- node.js - 如何将表单字段值发送到 NodeJS
- python - 如何在字典循环中添加负数?
- python - 我的置换函数是否展示了对递归的良好使用?
- r - 一个 R-Markdown 文档中的法语和波兰语字符
- oracle - 如何在 Oracle APEX 中的 Oracle Database Modeler 中重新创建弧关系?