ElementUI table+dialog实现一个简单的可编辑的表格
以下是一个使用ElementUI创建可编辑表格的简单示例。这个示例包括一个表格和一个对话框,用户可以在对话框中编辑行的数据,并将更改反映在表格中。
<template>
<div>
<el-table :data="tableData" style="width: 100%">
<el-table-column prop="date" label="日期" width="180"> </el-table-column>
<el-table-column prop="name" label="姓名" width="180"> </el-table-column>
<el-table-column prop="address" label="地址"> </el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
</template>
</el-table-column>
</el-table>
<el-dialog title="编辑行" :visible.sync="dialogVisible">
<el-form :model="form">
<el-form-item label="日期">
<el-input v-model="form.date"></el-input>
</el-form-item>
<el-form-item label="姓名">
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="地址">
<el-input v-model="form.address"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="handleSubmit">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
tableData: [
{ date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄' },
// ... 更多数据
],
dialogVisible: false,
form: {},
editIndex: -1,
};
},
methods: {
handleEdit(index, row) {
this.form = Object.assign({}, row);
this.editIndex = index;
this.dialogVisible = true;
},
handleSubmit() {
this.tableData.splice(this.editIndex, 1, this.form);
this.dialogVisible = false;
},
},
};
</script>
在这个例子中,我们有一个表格el-table
,它显示了一些数据。每行后面有一个编辑按钮,当点击时会弹出一个对话框el-dialog
。在对话框中,用户可以编辑日期、姓名和地址,并通过确认按钮提交更改。提交时,我们将更新的数据设置回原始数据数组中相应的位置。这个例子演示了如何使用ElementUI组件进行简单的表格和编辑操作。
评论已关闭