使用纯html+elementUI写一个tabs标签页,每页有增删改查功能的表格的代码
时间: 2024-03-21 08:41:08 浏览: 68
好的,以下是一个基于HTML和ElementUI的Tabs标签页,每个标签页中包含一个带有增删改查功能的表格的代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Tab页表格</title>
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
</head>
<body>
<div id="app">
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="页1" name="1">
<el-table :data="tableData1" 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 slot-scope="scope">
<el-button type="primary" size="small" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
<el-button type="danger" size="small" @click="handleDelete(scope.$index, scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<el-button type="primary" @click="handleAdd">新增</el-button>
</el-tab-pane>
<el-tab-pane label="页2" name="2">
<el-table :data="tableData2" 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 slot-scope="scope">
<el-button type="primary" size="small" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
<el-button type="danger" size="small" @click="handleDelete(scope.$index, scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<el-button type="primary" @click="handleAdd">新增</el-button>
</el-tab-pane>
</el-tabs>
</div>
<script>
new Vue({
el: '#app',
data: {
activeName: '1',
tableData1: [
{name: '张三', age: 18},
{name: '李四', age: 22},
{name: '王五', age: 30},
],
tableData2: [
{name: 'Tom', age: 25},
{name: 'Jerry', age: 20},
{name: 'Mike', age: 28},
]
},
methods: {
handleClick(tab, event) {
console.log(tab, event);
},
handleAdd() {
// 在当前活动标签页的表格中添加一个空行
if (this.activeName === '1') {
this.tableData1.push({
name: '',
age: ''
});
} else if (this.activeName === '2') {
this.tableData2.push({
name: '',
age: ''
});
}
},
handleEdit(index, row) {
// 编辑当前活动标签页的表格中的一行
if (this.activeName === '1') {
this.$set(this.tableData1, index, row);
} else if (this.activeName === '2') {
this.$set(this.tableData2, index, row);
}
},
handleDelete(index, row) {
// 删除当前活动标签页的表格中的一行
if (this.activeName === '1') {
this.tableData1.splice(index, 1);
} else if (this.activeName === '2') {
this.tableData2.splice(index, 1);
}
}
}
});
</script>
</body>
</html>
```
这个示例代码中,我们使用了ElementUI中的`el-tabs`组件来创建一个Tabs标签页,其中包含两个标签页,每个标签页中都包含一个`el-table`组件用于显示数据,以及一个`el-button`组件用于添加新数据。
在每个表格中,我们定义了三个表格列:姓名、年龄和操作。操作列中包含了编辑和删除两个按钮,分别用于编辑和删除当前行的数据。在添加新数据时,我们可以通过点击“新增”按钮在表格中添加一行空数据。
在Vue.js中,我们通过定义`data`对象来存储每个标签页对应的数据,通过定义一些方法来处理用户的交互操作。例如,`handleAdd()`方法用于添加新数据,`handleEdit()`方法用于编辑数据,`handleDelete()`方法用于删除数据。在这些方法中,我们使用了Vue.js中的一些API来修改`data`对象中的数据,以实现表格数据的增删改查功能。
阅读全文