2

希望你们中的一些人可以帮助我,可能我弄错了,但我无法使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 中获取值,因此可以预期组在下面的对象中显示为空。你如何将它们结合起来?在不改变太多逻辑的情况下有没有更好的选择?请帮助,并感谢您的时间!

4

0 回答 0