使用Vue+elementUI实现CRUD
以下是一个简单的使用Vue和Element UI实现CRUD操作的示例代码。
<template>
<div>
<el-button type="primary" @click="handleCreate">添加</el-button>
<el-table :data="list" style="width: 100%">
<el-table-column prop="id" label="ID"></el-table-column>
<el-table-column prop="name" label="名称"></el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button @click="handleEdit(scope.row)">编辑</el-button>
<el-button type="danger" @click="handleDelete(scope.row.id)">删除</el-button>
</template>
</el-table-column>
</el-table>
<el-dialog :title="dialogTitle" :visible.sync="dialogVisible">
<el-form :model="form">
<el-form-item label="名称">
<el-input v-model="form.name"></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 {
list: [],
form: {
id: null,
name: ''
},
dialogVisible: false,
dialogTitle: ''
};
},
methods: {
handleCreate() {
this.dialogVisible = true;
this.dialogTitle = '添加';
this.form = { id: null, name: '' };
},
handleEdit(row) {
this.dialogVisible = true;
this.dialogTitle = '编辑';
this.form = { ...row };
},
handleDelete(id) {
// 模拟删除操作
this.list = this.list.filter(item => item.id !== id);
// 实际应用中需要发起删除请求
},
handleSubmit() {
if (this.form.id) {
// 模拟更新操作
const index = this.list.findIndex(item => item.id === this.form.id);
this.list.splice(index, 1, this.form);
// 实际应用中需要发起更新请求
} else {
// 模拟添加操作
const newItem = { id: Date.now(), ...this.form };
this.list.push(newItem);
// 实际应用中需要发起添加请求
}
this.dialogVisible = false;
}
}
};
</script>
这段代码提供了一个简单的用户列表的CRUD操作。它展示了如何使用Element UI的表格、对话框以及按钮组件,并通过Vue实例的数据绑定和方法来处理用户的交互。这个例子旨在教育开发者如何将Elem
评论已关闭