Vue 3如何获取所选树节点的id,并将API id作为参数传递



我使用树形视图为我的应用程序,我得到每个当复选框被选中时,它是如何在这里的id:

<blocks-tree class="border-bottom" :data="treeData" :horizontal="treeOrientation==='0'"
:collapsable="true">
<template #node="{data}">
<span>
<input type="checkbox"
:checked="selected.indexOf(data.some_id)> -1"
@change="(e)=>toggleSelect(data,e.target.checked)"/> 
{{data.label}}
</span>
</template>
</blocks-tree>

<button class="btn" @click="editState(selected)">
ایجاد ساختمان
<br>
Selected: {{selected}}
</button>

选择按钮如下:

const toggleSelect = (node, isSelected) => {
isSelected ? selected.value.push(node.some_id) : selected.value.splice(selected.value.indexOf(node.some_id), 1);
if(node.children && node.children.length) {
node.children.forEach(ch=>{
toggleSelect(ch,isSelected)
})
}
}

现在我想用@click获取所选节点的id,并将其作为参数传递给另一个路由。有人能帮我一下吗?

editState(id) {
this.$router.push({name: 'RealStateForm', params: {id: id}})
}

实际上,它与Vue-router有关,在Vue 2中我这样做:我有一个带有这些参数的路由:

{
path: "/natural-users/:userId?/:committeeId?",
components: {
main: Registration,
top: Top,
right: Right
},
beforeEnter: (to, _from, next) => {
if (!ability.isSelfUser(to.params.userId)) next("/");
next();
},
props: { main: true }

当我想重定向到这个路由时,我这样做:

this.$router.push(`/natural-users/${this.userID}/${this.commitee}`)

我希望这对你有帮助。

相关内容

  • 没有找到相关文章

最新更新