vue - element 中 el-table自定义弹窗
时间: 2023-10-05 20:14:41 浏览: 115
在 Vue-Element 中,要自定义 el-table 的弹窗,你可以使用 scoped slot 的方式来实现。
具体步骤如下:
1. 在 el-table 中定义 scoped slot,例如:
```html
<el-table :data="tableData">
<el-table-column prop="name" label="Name"></el-table-column>
<el-table-column prop="gender" label="Gender"></el-table-column>
<el-table-column prop="actions" label="Actions">
<template slot-scope="scope">
<el-button @click="handleClick(scope.row)">Edit</el-button>
<el-button @click="handleDelete(scope.row)">Delete</el-button>
</template>
</el-table-column>
</el-table>
```
2. 在 methods 中定义 handleClick 方法,例如:
```javascript
methods: {
handleClick(row) {
this.dialogVisible = true;
this.editRow = row;
}
}
```
3. 在 el-dialog 中使用 editRow 数据来渲染自定义的弹窗:
```html
<el-dialog :visible.sync="dialogVisible">
<el-form :model="editRow">
<el-form-item label="Name">
<el-input v-model="editRow.name"></el-input>
</el-form-item>
<el-form-item label="Gender">
<el-radio-group v-model="editRow.gender">
<el-radio :label="1">Male</el-radio>
<el-radio :label="2">Female</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
</el-dialog>
```
这样,当用户点击 Edit 按钮时,就会弹出自定义的编辑弹窗,用户可以在弹窗中编辑数据,点击确认按钮后,数据会保存到 editRow 中,然后再自动更新到表格中。
阅读全文