天天看点

avue-crud 多选删除元素

avue-crud 多选删除元素

  根据多选框删除元素

<avue-crud ref="mainCurd"
               :data="crudData"
               :option="crudOp2"
               @selection-change="handleSelectChange">

data() {
  return {
    crudData: [],
    crudOp2: data.crudOp2,

    // 多选框选择
    selectList: [],
  }
},

methods: {
	// 多选框选择
	handleSelectChange(select) {
	  this.selectList = select
	},
	
	async tempDelete() {
      if (this.selectList.length == 0) {
        return warning('未选择删除数据!')
      }

      await cofirm('确定删除数据?').then((res) => {
        // 遍历被选项
        this.selectList.forEach((item) => {
          // 保存被删除数据的ID
          this.deleteData.push(item['id'])

          // 保存被删除数据的索引
          let idx = this.crudData.findIndex(
            (crudItem) =>
              crudItem['id'] === item['id']
          )
          // 根据索引一次性删除
          this.crudData.splice(idx, 1)
        })
      })
    },

}