【问题标题】:Change just the first icon in a v-list-item using vuetify使用 vuetify 仅更改 v-list-item 中的第一个图标
【发布时间】:2021-09-07 11:09:01
【问题描述】:

我有一个项目列表,每个项目之前都是一个图标。单击它时,我想将图标从空圆圈更改为选中的圆圈。但是当我单击第一个图标时,所有图标都被检查,因为它们具有相同的 v-model。当我单击第一个图标时,我怎样才能做到这一点,只是第一个图标发生变化? 这就是我所拥有的:

    <v-list-item v-for="(item, index) in itemSubtasks" :key="index">
                <v-list-item-action style="padding-top: 20px;">
                  <v-icon v-show="showDoneSub" @click="clickSubtask"> mdi-circle-outline
                  </v-icon>
                  <v-icon v-show="showUnDoneSub" @click="unDoneSubtask">
                    mdi-checkbox-marked-circle-outline </v-icon>
                </v-list-item-action>
                <v-list-item-content>
                  <v-list-item-title>
                    <v-text-field v-model="item.title"></v-text-field>
                  </v-list-item-title>
                </v-list-item-content>
              </v-list-item>

声明如下:

    itemSubtasks: [{
        title: 'My custom subtask 1',
      },
      {
        title: 'My custom subtask 2',
      },
    ],
    showDoneSub: true,   //empty circle
    showUnDoneSub: false,   //circle checked 

这些是方法:

  clickSubtask() {
    this.showDoneSub = false
    this.showUnDoneSub = true
  },
  unDoneSubtask() {
    this.showDoneSub = true
    this.showUnDoneSub = false
  },

【问题讨论】:

    标签: javascript vue.js vuetify.js


    【解决方案1】:

    定义一个名为currentDoneIndex 的属性,然后使用点击图标索引进行更新:

         <v-icon v-if="currentDoneIndex!==index" @click="clickSubtask(index)"> mdi-circle-outline
              </v-icon>
        <v-icon v-ele @click="unDoneSubtask(index)">
                    mdi-checkbox-marked-circle-outline </v-icon>
    

    在数据对象中:

     currentDoneIndex:-1
    

    在方法中:

     clickSubtask(index) {
       this.currentDoneIndex = this.currentDoneIndex===index?-1:index
      },
      unDoneSubtask() {
         this.currentDoneIndex==-1
      },
    

    【讨论】:

    • 完美运行!非常感谢你!但是如果我想检查多个问题,请问还有一个问题怎么办?
    • 你可以定义一个数组
    猜你喜欢
    • 2020-05-24
    • 2021-03-09
    • 1970-01-01
    • 2022-10-08
    • 2022-01-23
    • 2022-01-10
    • 1970-01-01
    • 2021-08-19
    • 2021-07-15
    相关资源
    最近更新 更多