vue+iview 外部按钮删除Table表格通过复选框选中的某一行数据,未选中则按钮不可点击
时间: 2024-03-13 19:46:54 浏览: 55
可以通过监听表格的 `selection-change` 事件来动态控制删除按钮的可用性。具体实现步骤如下:
1. 在表格中添加复选框列,并绑定 `selection` 属性:
```html
<Table :columns="columns" :data="data" v-model="selectedRows" @selection-change="handleSelectionChange">
<template slot="selection" slot-scope="{row}">
<Checkbox v-model="row.selected" />
</template>
</Table>
```
2. 在组件中定义 `selectedRows` 和 `deleteDisabled` 变量,并在 `handleSelectionChange` 方法中更新 `deleteDisabled`:
```javascript
data() {
return {
selectedRows: [], // 选中的行数据
deleteDisabled: true // 删除按钮是否可用
}
},
methods: {
handleSelectionChange(selection) {
this.selectedRows = selection
this.deleteDisabled = selection.length === 0 // 如果没有选中任何行,则删除按钮不可用
},
handleDelete() {
// 处理删除逻辑
}
}
```
3. 在删除按钮上绑定 `:disabled` 属性:
```html
<Button type="primary" @click="handleDelete" :disabled="deleteDisabled">删除</Button>
```
这样就可以实现:当没有选中任何行时,删除按钮不可用;当选中行时,删除按钮可用。
阅读全文