前端vue3增删改查功能代码 要求使用element plus 并给出详细解说
时间: 2023-08-20 16:05:20 浏览: 201
vue.js+Element实现表格里的增删改查
5星 · 资源好评率100%
好的,关于前端vue3增删改查功能代码,我可以给您提供一些参考。首先,我们需要先安装Vue3和Element Plus的依赖:
```
npm install vue@next
npm install element-plus
```
然后,我们可以在Vue的组件中使用Element Plus的组件来实现增删改查功能。具体实现代码如下:
```vue
<template>
<div>
<!-- 查询表单 -->
<el-form :inline="true" :model="queryForm" class="query-form">
<el-form-item label="名称">
<el-input v-model="queryForm.name"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="handleQuery">查询</el-button>
</el-form-item>
</el-form>
<!-- 表格 -->
<el-table :data="tableData" style="width: 100%">
<el-table-column prop="name" label="名称"></el-table-column>
<el-table-column prop="age" label="年龄"></el-table-column>
<el-table-column label="操作">
<template #default="{row}">
<el-button type="primary" size="mini" @click="handleEdit(row)">编辑</el-button>
<el-button type="danger" size="mini" @click="handleDelete(row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页 -->
<el-pagination
:current-page.sync="currentPage"
:page-size="pageSize"
:total="total"
@current-change="handlePageChange"
></el-pagination>
<!-- 编辑对话框 -->
<el-dialog
title="编辑"
:visible.sync="editDialogVisible"
:before-close="handleEditDialogClose"
>
<el-form :model="editForm" label-position="right" label-width="80px">
<el-form-item label="名称">
<el-input v-model="editForm.name"></el-input>
</el-form-item>
<el-form-item label="年龄">
<el-input v-model.number="editForm.age"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="editDialogVisible = false">取 消</el-button>
<el-button type="primary" @click="handleEditSubmit">确 定</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { ref } from 'vue'
import { ElMessage } from 'element-plus'
export default {
name: 'Demo',
data() {
return {
queryForm: {
name: '',
},
tableData: [],
currentPage: 1,
pageSize: 10,
total: 0,
editDialogVisible: false,
editForm: {},
}
},
mounted() {
// 初始化表格数据
this.handleQuery()
},
methods: {
handleQuery() {
// 发送查询请求,获取表格数据
// ...
},
handlePageChange(currentPage) {
// 发送分页请求,获取表格数据
// ...
},
handleEdit(row) {
// 显示编辑对话框,并初始化表单数据
this.editForm = Object.assign({}, row)
this.editDialogVisible = true
},
handleEditSubmit() {
// 发送编辑请求,更新表格数据
// ...
this.editDialogVisible = false
},
handleEditDialogClose(done) {
// 关闭编辑对话框时清空表单数据
this.editForm = {}
done()
},
handleDelete(row) {
// 发送删除请求,更新表格数据
// ...
},
},
}
</script>
```
上述代码中,我们使用了以下Element Plus的组件:
- `el-form`:查询表单
- `el-input`:查询表单中的文本框
- `el-button`:查询按钮、编辑按钮、删除按钮
- `el-table`:表格
- `el-table-column`:表格列
- `el-pagination`:分页
- `el-dialog`:编辑对话框
- `el-form-item`:表单项
其中,我们通过`v-model`指令实现了表单数据的双向绑定,通过`@click`指令实现了按钮的点击事件,通过`@current-change`指令实现了分页的切换事件,通过`slot`实现了对话框的自定义底部按钮。
此外,我们还使用了Vue3中的`ref`函数来声明响应式变量,使用了Element Plus中的`ElMessage`组件来实现消息提示。当然,这只是一个简单的例子,实际应用中还需要根据具体业务需求进行适当的修改和扩展。
阅读全文