element table 点击单列的图标进行切换

问题描述:
我用element写了一个表格,第一列是一个展开图标(如图1)
我通过v-if实现了切换,但是现在点击某行的这个图标,所有图标都会更改状态(如图2)

我想知道如何更改当前点击的图标状态而不改变其他图标?

【图1 展开前】

clipboard.png

【图2 展开某一列后】

clipboard.png

【以下是相关代码】

<span v-if="scope.row.expand" class="expandIcon" @click="handleCheck(scope.$index,scope.row);getSkuData(scope.row)">
    <i v-if="plusIcon" class="el-icon-plus"/>
    <i v-if="!plusIcon" class="el-icon-minus"/>
</span>
export default {
  data() {
    return {
        plusIcon: true
    }
  },
  methods: {
    handleCheck(index, row) {
      const $table = this.$refs.table;
      $table.toggleRowExpansion(row);
      $table.toggleRowSelection(row);
      this.plusIcon = !this.plusIcon;
    },
  }
}

感谢!!

阅读 6.5k
2 个回答

plusIcon字段放到 scope.row对象里面,然后用scope.row.plusIcon ? 'el-icon-plus' : 'el-icon-minus' 展示icon

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题