<q-select outlined :options="CompanyCodeOptions" v-model="submitData.CompanyCodes" label="公司代码" dense clearable hint="请选择公司代码" filled emit-value map-options use-input input-debounce="0" :multiple="true" :hide-selected="true" :max-values="50" :rules="[val => val !== null && val !== '' || '请选择公司代码']" @filter="filterCompanyCode"></q-select> 被选中的值我写完在输入框里显示该怎么做
时间: 2024-04-13 22:30:12 浏览: 160
Quasar Input:type="number" 去掉上下小箭头 实现加减按钮样式功能
5星 · 资源好评率100%
要在Quasar的QSelect组件中显示已选中的值,你可以使用`computed`属性来获取已选中的值,并在输入框中显示它们。
在你的Vue组件中添加一个`computed`属性来获取已选中的值。然后,在QSelect组件中,将这个`computed`属性绑定到`value`属性上,以显示已选中的值。
下面是示例代码,展示了如何在QSelect组件的输入框中显示已选中的值:
```vue
<template>
<div>
<q-select
outlined
:options="CompanyCodeOptions"
v-model="submitData.CompanyCodes"
label="公司代码"
dense
clearable
hint="请选择公司代码"
filled
emit-value
map-options
use-input
input-debounce="0"
:multiple="true"
:hide-selected="true"
:max-values="50"
:rules="[val => val !== null && val !== '' || '请选择公司代码']"
@filter="filterCompanyCode"
:value="selectedCompanyCodes" // 绑定已选中的值到 value 属性
></q-select>
</div>
</template>
<script>
export default {
data() {
return {
CompanyCodeOptions: [
// 选项列表...
],
submitData: {
CompanyCodes: [] // 存储选中的值
}
};
},
computed: {
selectedCompanyCodes() {
// 根据选中的值生成一个包含 label 的数组
return this.submitData.CompanyCodes.map(code => {
const option = this.CompanyCodeOptions.find(option => option.value === code);
return option ? option.label : '';
});
}
},
methods: {
filterCompanyCode(val, update) {
// 过滤方法的实现...
}
}
};
</script>
```
在上面的代码中,我们添加了一个名为`selectedCompanyCodes`的`computed`属性。这个属性根据`submitData.CompanyCodes`中选中的值,生成一个包含每个选项的label的数组。
然后,在QSelect组件中,我们通过`:value`属性将`selectedCompanyCodes`绑定到输入框的值上,以显示已选中的值。
通过这种方式,你可以在QSelect组件的输入框中显示已选中的值。
希望这个解决方案对你有所帮助!如果还有其他问题,请随时提问。
阅读全文