【问题标题】:Vuetify v-list-group change active append-iconVuetify v-list-group 更改活动附加图标
【发布时间】:2020-10-19 12:39:52
【问题描述】:

我尝试根据组状态(打开/关闭)更改附加图标。我尝试设置,但它不起作用:

v-list-group(
        color="success"
        @click:append="this.marker = !this.marker"
        :append-icon="marker ? 'add' : 'remove'")

enter image description here

抱歉,代码不完整: (看起来您的帖子主要是代码;请添加更多详细信息) 哈巴狗

  v-list(expand, dense, nav)

//1 list lvl
    template(v-for="item in test")
      v-list-item(
        v-if="!item.categories",
      )
        v-list-item-title {{ item.id }}. {{ item.block }}
      v-list-group(
        v-else,
        @click="marker = !marker",
        :append-icon="marker ? 'add' : 'remove'"
      )
        template(#activator)
          v-list-item-content
            v-list-item-title {{ item.id }}. {{ item.block }}

//2 list lvl
        template(v-for="subItem in item.categories")
          v-list-item(
            v-if="!subItem.elements",
          )
            v-list-item-title {{ subItem.id }}. {{ subItem.name }}
          v-list-group(
            v-else,
            :append-icon="marker ? 'add' : 'remove'",
            @click="marker = !marker"
          )
          ....

//3 list lvl ...

【问题讨论】:

  • this.marker = !this.marker - 不是这个,我猜
  • 不要在模板中使用“this”。
  • 你是对的。但是如果我使用 marker = !marker 值不会改变。我尝试使用方法,但它也不起作用。

标签: vue.js vuetify.js


【解决方案1】:

你可以试试

<v-list-group
   color="success"
   @click="marker = !marker"
   :append-icon="marker ? 'add' : 'remove'">
</v-list-group>

【讨论】:

  • 谢谢,它成功了,但所有组中的图标都发生了变化。我只需要更改所选组中的图标即可。
  • 如何选择组。你可以在你的问题中添加代码吗?
  • 您可以为数组中的每个对象添加一个标记键,并在点击事件中使用它。所以现在你的点击事件就像@click="item.marker = !item.marker"
猜你喜欢
  • 2020-11-07
  • 2021-03-09
  • 1970-01-01
  • 1970-01-01
  • 2022-01-10
  • 1970-01-01
  • 2020-05-24
  • 2021-08-19
  • 2020-10-06
相关资源
最近更新 更多