我需要我的q-select来选择“名称”,这取决于之前分配的"id“。目前,输入显示的是数字中的"id“,而不是它所属的名称。
<q-select
class="text-uppercase"
v-model="model"
outlined
dense
use-input
input-debounce="0"
label="Marcas"
:options="options"
option-label="name"
option-value="id"
emit-value
map-options
@filter="filterFn"
@update:model-value="test()"
>
<template v-slot:no-option>
<q-item>
<q-item-section class="text-grey"> No results </q-item-section>
</q-item>
</template>
</q-select>
例如,我希望具有id: 12的名称显示在q-select中加载。
const model = ref(12);
const options = ref([]);
const filterFn = (val, update) => {
if (val === "") {
update(() => {
options.value = tableData.value;
});
return;
}
update(() => {
const needle = val.toLowerCase();
options.value = tableData.value.filter((v) =>
v.name.toLowerCase().includes(needle)
);
});
};
发布于 2021-07-24 03:27:40
我遇到了同样的问题,找不到合适的方法来设置对象类型的默认值。
我最终使用find()在选项中查找默认值,并在页面创建的事件中分配它。
created() {
this.model = this.options.find(
(o) => o.value == this.model
);
}
https://stackoverflow.com/questions/68323338
复制相似问题