在 Vuetifyv-treeview组件中重新加载数据后,我需要在特定节点中以编程方式打开树(我保存在内存中的最后一个打开)。
是否可以?什么是正确的做法?
https://vuetifyjs.com/en/components/treeview/
感谢您的帮助。
我已经解决了我的问题。我错了。
为了刷新数据,我使用loadData()了使用:loading属性的函数。
使用它,v-treeview刷新 dom 失去当前打开状态。我创建了一个updateData()仅重新加载:items属性的函数。节点在相同状态下保持打开状态。
它工作正常,所以我不必以编程方式实现打开节点。
无论如何,我让这个问题保持开放,因为分享一种方法(如果存在)以编程方式在v-treeview.
您可以使用 :open.sync,例如
<v-treeview :items="yourItemsTree" :open.sync="openIds" hoverable>
Run Code Online (Sandbox Code Playgroud)
现在,openIds 是一个包含未清项目(其项目键)的数组(两种方式都使用同步修饰符。
或者,您可以使用
<v-treeview :items="yourItemsTree" @update:open="onOpen" hoverable>
Run Code Online (Sandbox Code Playgroud)
和
methods: {
onOpen(items) {
this.openIds = items
}
}
Run Code Online (Sandbox Code Playgroud)