Vuetify v-select + item-disabled 怎么用呢?

问题描述

样本 https://vuetifyjs.com/en/components/selects/#multiple

<v-select
          v-model="value"
          :items="items"          
          multiple
          item-disabled=['foo','fizz'] //read only not work?
></v-select>
<script>
  export default {
    data: () => ({
      items: ['foo','bar','fizz','buzz'],value: ['foo',}),}
</script>

解决方法

Vuetify documentation 中所述,您的项目可以是具有以下属性的对象数组:

{
  text: string | number | object,value: string | number | object,disabled: boolean,divider: boolean,header: string
}

你的例子变成:

<template>
  <v-select
    v-model="value"
    :items="items"          
    multiple
  ></v-select>
</template>

<script>
export default {
  data: () => ({
    items: [
      {
        text: "foo",value: "foo",disabled: true,},{
        text: "bar",value: "bar",{
        text: "fizz",value: "fizz",{
        text: "buzz",value: "buzz",],}),};
</script>
,

根据此处提出的 github 问题 [仍处于开放状态]:https://github.com/vuetifyjs/vuetify/issues/5557

如果传递数组,则将其用作属性的路径(['a','b'] 是 'a.b'),而不是项目值列表。

所以现在,我们不能将数组直接传递给 item-disabled 来禁用某些选项。 正如上面的回答中提到的, 您当前的数组需要转换为对象数组才能 项目禁用工作。我们需要为需要禁用的对象传递带有 disabled:true 的对象数组。

  [
      {text: 'Bar',value: 'Bar'},{text: 'Gizz - Disabled',value: 'Gizz',disabled: true}
  ]

这是示例 - https://codepen.io/akshayd21/pen/qBqGONz

类似问题供参考: How can I disable literal values in Vuetify? v-select deactivate some items/options

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...