vue3下拉树(单选) 输入框显示父级和子级 列表的用途联动西药名称
在Vue 3中,创建一个下拉树(单选输入框显示父级和子级)用于联动药品名称的组件可以通过以下步骤实现:
- 使用
<tree-select>
组件来展示树形结构。 - 使用
v-model
来实现数据的双向绑定。 - 在输入框中显示选中节点的文本,包括父级和子级。
以下是一个简化的示例代码:
<template>
<tree-select v-model="selectedDrug" :options="drugTree" placeholder="请选择或输入药品名称">
<!-- 自定义下拉框中的内容显示 -->
<template #default="{ node }">
{{ node.parent ? `${node.parent.name} > ${node.name}` : node.name }}
</template>
</tree-select>
</template>
<script setup>
import { ref } from 'vue';
// 药品树形结构的示例数据
const drugTree = ref([
{
name: '中成药',
children: [
{ name: '氨西酞', id: 1 },
{ name: '炔烃类', id: 2, children: [{ name: '炔烃A', id: 21 }] },
],
},
{
name: '西药',
children: [
{ name: '抗炎药', id: 3 },
{ name: '抗炎免疫剂', id: 4 },
],
},
]);
// 选中的药品数据
const selectedDrug = ref(null);
</script>
在这个例子中,<tree-select>
组件用于显示树形结构,drugTree
是药品的树形结构数据,selectedDrug
用于绑定选中的药品信息。#default
插槽允许自定义下拉框中节点的显示,在这里显示了节点的父级和子级关系。
请注意,<tree-select>
组件需要你自己实现,因为Vue 3本身没有内置这样的组件。你可以使用第三方库如vue-treeselect
或根据需求自己实现一个树选择组件。
评论已关闭