希望你们中的一些人可以帮助我,可能我弄错了,但我无法使Field
组件从 Multiselect 元素中获取输出。在接收来自 5 个不同步骤的字段输入的 Metronic8 向导中,我试图得到这个
<Field name="groups" v-slot="{ field }">
<Multiselect v-bind="field" v-model="groups.value" trackBy="groupName" valueProp="id" label="groupName">
</Multiselect>
</Field>
<ErrorMessage name="groups" class="fv-plugins-message-container invalid-feedback"></ErrorMessage>
在来自向导的 vee-validate 表单数据中,我将组声明为由该字段传递的数组,具有默认值 []。在 setup 函数中,我定义了这些默认值,以便通过分派到商店的操作来获取 Multiselect 的选项
setup(){
const groups = ref({
mode: 'tags',
value: [],
options: [],
searchable: true,
createTag: true,
});
store.dispatch(Actions.GET_GROUPS)
.then((data) => {
console.log(data);
groups.value.options = data;
})
.catch(...);
return {
groups,
};
}
如果没有 Field 组件,Multiselect 可以正常工作,并返回我的对象数组id
。但是当我console.log
在每个向导的“下一步”按钮上输出时,数组保持在他的默认值。
{campaignName: "hello, world", groups: Array(0), ... }
我不太确定 Field 如何从 Multiselect 中获取值,因此可以预期组在下面的对象中显示为空。你如何将它们结合起来?在不改变太多逻辑的情况下有没有更好的选择?请帮助,并感谢您的时间!