我在Vue组件中使用https://vue-multiselect.js.org。我正在使用AJAX更新选择列表选项,并且在检查器中看到有10个值。
但是当我实际单击多选列表时,我只看到这些项目的一个子集,我不知道为什么。...这是我的多选道具/事件:
<multiselect
v-model="organization"
:allow-empty="true"
:loading="loading"
:options="organizationSearch"
:preserve-search="true"
@search-change="searchOrganizations"
@select="organizationSelected"
@remove="organizationDeselected"
placeholder="Search Organizations"
label="name"
track-by="id"
class="multiselect my-3"
>
</multiselect>
答案 0 :(得分:1)
如果在检查器中展开options
数组,可能会更有帮助,这样我们就可以看到对象中呈现了哪些属性。
track-by
用于标识选项列表中的选项,因此其值必须唯一。
您设置了track-by="id"
和label="name"
,因此您的options
数组应如下所示:
options: [
{ id: 1, name: 'Option #1' },
{ id: 2, name: 'Option #2' },
{ id: 3, name: 'Option #3' },
],
请确保options
数组中的所有项目都具有id
属性,并且所有属性都是唯一的,因为具有相同id
的项目不会出现在多选列表。
答案 1 :(得分:0)
这取决于您的options
的结构。
表明它们应该是文字值时是对象。
答案 2 :(得分:0)