【发布时间】:2019-12-10 18:01:21
【问题描述】:
我必须使用引导程序创建带有表数据的可折叠树。这看起来像下面这样
<tr><td>Parent node1</td><td>...</td><td>...</td></tr>
<tr><td>Subparent node1.1</td><td>...</td><td>...</td></tr>
<tr><td>Subsupparent node1.1.1</td><td>...</td><td>...</td></tr>
<tr><td>Subsupparent node1.1.2</td><td>...</td><td>...</td></tr>
<tr><td>Subparent node1.2</td><td>...</td><td>...</td></tr>
<tr><td>Subsupparent node2.1.1</td><td>...</td><td>...</td></tr>
<tr><td>Subsupparent node2.1.2</td><td>...</td><td>...</td></tr>
我决定在每个级别的 html 上创建 Vue 组件渲染,并通过递归使用自己的数据和子集:
<template id="tree-item">
<tr :key="currentNode.id">
<span @click="setExpanded(currentNode)">
<div style="display: inline-block;">
<span class="treegrid-indent" :style="{width: 15 * level + 'px'}"></span>
<span class="treegrid-expander fa" :class="currentNode.isExpanded ?'fa-chevron-down':'fa-chevron-right'">
</span>
</div>
{{level}} {{currentNode.id}}
</span>
</tr>
<tree-item v-for="item in currentNode.items" :currentNode="item" :level="level+1"> </tree-item>
</template>
但我得到 Vue 错误:组件模板应该只包含一个根元素。 有什么方法可以解决这个任务吗?
【问题讨论】:
-
我改了标题-也许还有其他方法?
标签: vuejs2