iview踩坑记录
清空组件的方法
清空DatePicker(日期选择器)的方法:
this.$refs.DatePicker.handleClear()
清空TimePicker(时间选择器)的方法:
this.$refs.TimePicker.handleClear()
清空Select组件的方法:
this.$refs.Select.clearSingleSelect()
清空Table组件的方法:
this.$refs.Table.selectAll(flase)
批量删除
利用promise.all和Table组件的@on-selection-change结合实现批量删除
<tables
ref="manage_table"
:loading="t_loading"
editable
v-model="tableData"
:columns="columns"
@on-selection-change='onSelectionChange'
/>
// 选择Table选项触发事件
onSelectionChange (row) {
console.log(row)
this.currentId = []
for (let i = 0; i < row.length; i++) {
this.currentId[i] = row[i].id
}
console.log(this.currentId)
}
// 点击删除触发事件
onBanConfirm () {
let rm = []
for (let i = 0; i < this.currentId.length; i++) {
// remove函数为一个Promise对象,调用后端接口实现删除
rm.push(remove(this.currentId[i]))
}
Promise.all(rm)
.then(res => {
for (let i = 0; i < this.currentId.length; i++) {
if (res[i].data.code !== 0) {
this.$Message.error('系统错误')
// 初始data中定义rm_result为true,只有返回错误的值才会更改为false
this.rm_result = false
break
}
}