给我写一个使用html和elementUI写的有增删改查的表格的代码
时间: 2024-03-21 19:39:25 浏览: 62
以下是使用 HTML 和 ElementUI 写的带有增删改查功能的表格代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ElementUI 带有增删改查的表格</title>
<!-- 引入 ElementUI 样式文件 -->
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
<!-- 引入 Vue.js 和 ElementUI JavaScript 文件 -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
</head>
<body>
<div id="app">
<el-form :inline="true" :model="searchForm" class="search-form">
<el-form-item label="搜索">
<el-input v-model="searchForm.keyword" placeholder="请输入关键词"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="search">搜索</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="addDialogVisible = true">添加</el-button>
</el-form-item>
</el-form>
<el-table :data="tableData" border>
<el-table-column prop="name" label="姓名"></el-table-column>
<el-table-column prop="age" label="年龄"></el-table-column>
<el-table-column prop="address" label="地址"></el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button type="primary" size="small" @click="edit(scope.$index, scope.row)">编辑</el-button>
<el-button type="danger" size="small" @click="remove(scope.$index, scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<el-dialog :visible.sync="addDialogVisible" title="添加记录">
<el-form :model="addForm" label-width="80px">
<el-form-item label="姓名">
<el-input v-model="addForm.name"></el-input>
</el-form-item>
<el-form-item label="年龄">
<el-input v-model="addForm.age"></el-input>
</el-form-item>
<el-form-item label="地址">
<el-input v-model="addForm.address"></el-input>
</el-form-item>
</el-form>
<div slot="footer">
<el-button @click="addDialogVisible = false">取 消</el-button>
<el-button type="primary" @click="add">确 定</el-button>
</div>
</el-dialog>
<el-dialog :visible.sync="editDialogVisible" title="编辑记录">
<el-form :model="editForm" 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="editForm.age"></el-input>
</el-form-item>
<el-form-item label="地址">
<el-input v-model="editForm.address"></el-input>
</el-form-item>
</el-form>
<div slot="footer">
<el-button @click="editDialogVisible = false">取 消</el-button>
<el-button type="primary" @click="save">确 定</el-button>
</div>
</el-dialog>
</div>
<script>
new Vue({
el: '#app',
data: {
searchForm: {
keyword: ''
},
tableData: [
{ name: '张三', age: 18, address: '北京市朝阳区' },
{ name: '李四', age: 20, address: '上海市浦东新区' },
{ name: '王五', age: 22, address: '广州市天河区' },
{ name: '赵六', age: 24, address: '深圳市福田区' }
],
addDialogVisible: false,
addForm: {
name: '',
age: '',
address: ''
},
editDialogVisible: false,
editForm: {
name: '',
age: '',
address: ''
},
editIndex: -1
},
methods: {
search() {
// 这里可以根据关键词过滤表格数据
},
add() {
this.tableData.push(this.addForm)
this.addForm = {
name: '',
age: '',
address: ''
}
this.addDialogVisible = false
},
edit(index, row) {
this.editIndex = index
this.editForm = Object.assign({}, row)
this.editDialogVisible = true
},
save() {
this.tableData.splice(this.editIndex, 1, this.editForm)
this.editForm = {
name: '',
age: '',
address: ''
}
this.editIndex = -1
this.editDialogVisible = false
},
remove(index, row) {
this.tableData.splice(index, 1)
}
}
})
</script>
</body>
</html>
```
以上代码中,我们使用了 ElementUI 的 `el-form`、`el-input`、`el-button`、`el-table`、`el-table-column` 和 `el-dialog` 组件来创建了一个带有增删改查功能的表格。在 Vue 实例中,我们定义了一个 `searchForm` 变量来保存搜索框中的关键词,以及一个 `tableData` 数组来存储表格数据。当用户输入关键词并点击搜索按钮时,`search` 方法会被调用,我们可以在这个方法中根据关键词过滤表格数据。
当用户点击添加按钮时,一个 `el-dialog` 弹窗会被打开,并显示一个表单,用户可以在表单中输入新的记录。当用户点击确定按钮时,新记录会被添加到表格数据中,并关闭弹窗。
当用户点击某行记录的编辑按钮时,一个 `el-dialog` 弹窗会被打开,并显示一个表单,其中包含该行记录的原始数据。用户可以在表单中修改记录,并点击确定按钮保存修改。
当用户点击某行记录的删除按钮时,该行记录会被从表格数据中删除。
总之,以上代码实现了一个简单的增删改查功能,可以作为学习 ElementUI 的参考。
阅读全文