我的代码:
https://jsfiddle.net/bgarrison25/tndsmkq1/4/
html:
<div id="app">
<label class="typo__label">Groups</label>
<multiselect
v-model="value"
:options="options"
:multiple="true"
group-values="libs"
group-label="language"
:group-select="true"
placeholder="Type to search"
track-by="name"
label="name">
<span slot="noResult">Oops! No elements found. Consider changing the search query.</span>
</multiselect>
<pre class="language-json"><code>{{ value }}</code></pre>
</div>
零件:
new Vue({
components: {
Multiselect: window.VueMultiselect.default
},
data () {
return {
options: [
{
language: 'Javascript',
libs: [
{ name: 'Vue.js', category: 'Front-end' },
{ name: 'Adonis', category: 'Backend' }
]
},
{
language: 'Ruby',
libs: [
{ name: 'Rails', category: 'Backend' },
{ name: 'Sinatra', category: 'Backend' }
]
},
{
language: 'Other',
libs: [
{ name: 'Laravel', category: 'Backend' },
{ name: 'Phoenix', category: 'Backend' }
]
}
],
value: [
{ name: 'Laravel', category: 'Backend' },
{ name: 'Phoenix', category: 'Backend' }
]
}
}
}).$mount('#app')
所以我创建了一个使用组的多选。如果它是一个没有预先选择的选项的新负载,它工作正常。但是,如果您预先选择了值并尝试取消选择它们所在的组,则根本不起作用。此外,如果我手动取消选择一个然后再次选择该组,这似乎是一个问题。
在小提琴中重现的步骤:
1) Laravel 和 Phoenix 已经在加载时被选中
2)单击多选并选择“其他”以取消选择该组。什么都没发生。
3) 取消选择“Phoenix”选项,然后单击“Other”组。现在您可以选择“Laravel”/“Phoenix”/“Laravel”。
想知道我做错了什么还是这是一个错误。如果它是一个错误,我将简单地发布他们的问题。