Vuejs2 vuetify:v-chip使用动态列表的v-model

Vuejs2 vuetify:v-chip使用动态列表的v-model,vuejs2,vue-component,vuetify.js,Vuejs2,Vue Component,Vuetify.js,我有一个vuetify组件来显示标记列表 <template> <div> <v-chip v-for="tag in tags" :key="tag.id" v-model="???" @input="onClose(tag)" close > {{tag.name}}

我有一个vuetify组件来显示标记列表

<template>
    <div>
        <v-chip 
            v-for="tag in tags" 
            :key="tag.id" 
            v-model="???"
            @input="onClose(tag)"
            close
        >
            {{tag.name}}
        </v-chip>
    </div>
</template>

<script>
    export default {
        name: 'TagIndex',
        props: ['tags'],

        methods: {
            onClose(tag){
                console.log('close tag')
            }
        }
    }    
</script>

但是失败了

此组件中的
v-model
绑定到标记的打开/关闭状态,因此它应该只是一个布尔值


在本例中,如果为
标记
数组中的每个对象指定了
isOpen
属性,则可以这样使用它:

<v-chip 
  v-for="tag in tags" 
  :key="tag.id" 
  v-model="tag.isOpen"
  @input="onClose(tag)"
  close
>
  {{tag.name}}
</v-chip>

{{tag.name}
然后,每当
tag.isOpen
的值更改时,该更改将反映在组件的打开/关闭状态中,反之亦然


看起来标签应该是一个数组,而v-model应该是v-model=“tag”。这对你有用吗?是的,谢谢你,差不多有用了。唯一不起作用的就是隐藏标签。如果我按“close”(关闭),tag.isOpen的值将变为false,但标记本身不会消失。使用
tag.isOpen
编辑标记以包含小提琴示例。查看您的代码与此有何不同是的,我们的代码是相同的。唯一的区别是,我在数据中没有标记,但在propsYes中,我发现了一个错误。问题是最初在标记中没有isOpen属性,我在将列表传递给子组件时添加了它
<v-chip 
  v-for="tag in tags" 
  :key="tag.id" 
  v-model="tag.isOpen"
  @input="onClose(tag)"
  close
>
  {{tag.name}}
</v-chip>