vue.js - Vuetify <v-list-item-group> v-model 多重选择不起作用

标签 vue.js vuetify.js

<v-list shaped>
  <v-navigation-drawer>
    <v-list shaped>
      <v-list-item-group
          v-model="selectedItem"
          multiple
      >
        <template v-for="(item, i) in items">
          <v-list-item
              :value="item"
          >
            <v-list-item-title>{{item.text}}</v-list-item-title>
          </v-list-item>
        </template>
      </v-list-item-group>
    </v-list>
  </v-navigation-drawer>
data: () => ({
    selectedItem: 0,
    drawer: null,
    items: [
      { icon: 'fas fa-home', text: 'Dashboard', route: '/home' },
      { icon: 'fas fa-money-check-alt', text: 'Invoices', route: '/invoices' },
      { icon: 'fas fa-dolly', text: 'Partners', route: '/partners' },
      { icon: 'fas fa-exchange-alt', text: 'Items', route: '/items' },
    ],
  }),

vuetify(2.6.1)中非常简单的代码,多重选择不起作用, 我也无法预先选择要选择的第一个项目。它可能与 v-list-item-group 组件有关。

最佳答案

您的代码中有 2 个错误:

  • 当您使用 multiple 属性时,selectedItem 应该数组
  • 当您应用 :value="item" 时,您的 selectedItem 数组应包含整个对象而不是其索引。

所以你的代码应该是:

...
<v-list-item-group
  v-model="selectedItem"
  multiple
>
  <template v-for="(item, i) in items">
    <v-list-item>
      <v-list-item-title>{{item.text}}</v-list-item-title>
    </v-list-item>
  </template>
</v-list-item-group>
...
data: () => ({
  items: [
    ...
  ],
  selectedItem: [0],
}),
...

关于vue.js - Vuetify <v-list-item-group> v-model 多重选择不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70234023/

相关文章:

vue.js - Nuxt.js:如何从布局引用页面数据? (例如,填充 og:title 标签)

vue.js - OnChange 传递项目文本和项目值 Vuetify

vue.js - 如何显示固定的Vuetify v-date-picker范围?

vue.js - 使用 Vuetify 滚动到页面的不同部分

javascript - Vuetify 数据表创建自定义过滤器

css - 无法从 Vuetify 的工具栏组件中删除左/右填充(间距助手不起作用)

javascript - 使用我在 laravel 中从 ajax 过滤的数据将 "append"VUE 组件转换为 DOM 的正确方法是什么?

vue.js - Vue 3 什么是基于类的 API、基于函数的 API、 react 性 API 和组合 API

javascript - 如何将类属性绑定(bind)到 Vue 2.0 中的表达式?

javascript - @Inject 无法在带有 typescript 的 vue 中工作