el-cascader 多选 输入框 无法赋值
时间: 2023-08-02 08:37:22 浏览: 107
如果你在 `el-cascader` 的多选模式下,无法将值赋给输入框,可以检查以下几个方面:
1. 是否正确设置 `v-model`,将选中的值绑定到组件的 `value` 属性上;
2. 是否正确设置 `:value` 属性,将输入框的值绑定到组件的 `value` 属性上;
3. 是否正确处理选中项的值,将选中的多个值组成一个数组,每个选中项都是一个对象,包含 `label` 和 `value` 两个属性;
4. 是否正确处理输入框的值,将输入框的值设置为选中的项的名称,并使用 `join` 方法将多个名称拼接为一个字符串。
以下是一个示例代码,可以参考一下:
```html
<template>
<el-cascader
v-model="selectedOptions"
:options="options"
:props="{
value: 'id',
label: 'name',
children: 'children'
}"
multiple
collapse-tags
@change="handleChange"
/>
</template>
<script>
export default {
data() {
return {
options: [
{
id: 1,
name: 'Option 1',
children: [
{
id: 11,
name: 'Option 1-1'
},
{
id: 12,
name: 'Option 1-2'
}
]
},
{
id: 2,
name: 'Option 2',
children: [
{
id: 21,
name: 'Option 2-1'
},
{
id: 22,
name: 'Option 2-2'
}
]
}
],
selectedOptions: []
}
},
methods: {
handleChange(selectedOptions) {
this.selectedOptions = selectedOptions
}
},
computed: {
inputValue() {
return this.selectedOptions.map(option => option.name).join(', ')
}
}
}
</script>
```
在上面的代码中,我们将选中的值绑定到了 `selectedOptions` 数组上,并使用 `@change` 事件监听选中项的变化。同时,我们还定义了一个 `inputValue` 计算属性,将输入框的值设置为选中的项的名称,并使用 `join` 方法将多个名称拼接为一个字符串。然后,在输入框中,我们使用 `v-model` 绑定 `inputValue` 属性,将输入框的值与选中的项的名称保持一致。
阅读全文