var 定义data数组,数组里面定义数据,通过clos的方式将数据渲染到layui表格上,表格倒数第一行第二列有一个新增按钮(完整的代码展示)
时间: 2024-05-12 14:16:53 浏览: 105
好的,让我来回答你的问题。下面是一个在前端使用layui表格实现数据渲染和新增操作的代码示例:
```javascript
var data = [
{
id: 1,
name: '张三',
age: 20
},
{
id: 2,
name: '李四',
age: 25
},
{
id: 3,
name: '王五',
age: 30
}
];
layui.use(['table', 'form'], function() {
var table = layui.table;
var form = layui.form;
// 渲染表格
table.render({
elem: '#demo',
cols: [
[
{field: 'id', title: 'ID'},
{field: 'name', title: '姓名'},
{field: 'age', title: '年龄'},
{fixed: 'right', title: '操作', toolbar: '#barDemo'}
]
],
data: data
});
// 监听工具条
table.on('tool(test)', function(obj){
var data = obj.data;
if(obj.event === 'edit'){
// 编辑
layer.msg(JSON.stringify(data));
} else if(obj.event === 'del'){
// 删除
layer.confirm('真的删除行么', function(index){
obj.del();
layer.close(index);
});
}
});
// 监听新增按钮
$('#addData').on('click', function() {
var index = layer.open({
title: '新增数据',
type: 1,
content: $('#addForm'),
btn: ['确定', '取消'],
yes: function(index, layero){
// 提交数据
var formData = form.val('addData');
data.push({
id: data[data.length - 1].id + 1,
name: formData.name,
age: formData.age
});
table.reload('demo', {
data: data
});
layer.close(index);
},
btn2: function(index, layero){
// 取消操作
layer.close(index);
}
});
});
});
```
在这个代码示例中,我们首先定义了一个包含三条数据的数组data,并且使用layui表格组件的render方法将数据渲染到指定的容器上。除此之外,我们还添加了一个位于表格右侧的操作列,可以用来进行编辑和删除操作。
在监听工具条事件的函数中,我们实现了当点击编辑按钮时,弹出一个提示框显示所选数据的详细信息;当点击删除按钮时,弹出一个确认框让用户确认是否要删除该行数据。
最后,在监听新增按钮事件的函数中,我们弹出一个表单,让用户输入新增数据的信息。当用户点击确定按钮时,取出表单中的数据,把它添加到数组data的末尾,并且使用表格组件的reload方法重新渲染表格即可。
阅读全文