layui 表格前后端总结
@PostMapping("findAll")
@ResponseBody
public Layui findAll(Param param){
QueryWrapper<EduTeacher> wrapper = new QueryWrapper<>();
Page<EduTeacher> page = new Page<>(param.getPage(),param.getLimit());
if(param.getA() != null && param.getA() != "") {
wrapper.eq("name",param.getA());
}
eduTeacherService.page(page,wrapper);
//List<EduTeacher> list = eduTeacherService.list(wrapper);
List<EduTeacher> records = page.getRecords();
long total = page.getTotal();
Layui data = Layui.data(Math.toIntExact(total),records);
return data;
}
@PostMapping("delete")
@ResponseBody
public String delete(@RequestBody Param param){
QueryWrapper<EduTeacher> wrapper = new QueryWrapper<>();
if(param.getName() != null && param.getName() != "") {
wrapper.eq("name",param.getName());
}
boolean result = eduTeacherService.remove(wrapper);
return "delete success";
}
layui工具类
package com.baomidou.springboot.util;
import java.util.HashMap;
import java.util.List;
public class Layui extends HashMap<String, Object> {
public static Layui data(Integer count, List<?> data){
Layui r = new Layui();
r.put("code", 0);
r.put("msg", "");
r.put("count", count);
r.put("data", data);
return r;
}
}
html
<form class="layui-form layui-row layui-col-space16">
<div class="layui-col-md4">
<div class="layui-input-wrap">
<div class="layui-input-prefix">
<i class="layui-icon layui-icon-username"></i>
</div>
<input type="text" name="A" value="" placeholder="Field A" class="layui-input" lay-affix="clear">
</div>
</div>
<div class="layui-col-md4">
<div class="layui-input-wrap">
<input type="text" name="B" placeholder="Field B" lay-affix="clear" class="layui-input">
</div>
</div>
<div class="layui-col-md4">
<div class="layui-input-wrap">
<div class="layui-input-prefix">
<i class="layui-icon layui-icon-date"></i>
</div>
<input type="text" name="C" readonly placeholder="Field C" class="layui-input demo-table-search-date">
</div>
</div>
<div class="layui-btn-container layui-col-xs12">
<button class="layui-btn" lay-submit lay-filter="demo-table-search" id="search">Search</button>
<button type="reset" class="layui-btn layui-btn-primary">Clear</button>
</div>
</form>
<table class="layui-hide" id="ID-table-demo-search"></table>
表格渲染重载
layui.use(function(){
var table = layui.table;
var form = layui.form;
var laydate = layui.laydate;
// 创建表格实例
table.render({
elem: '#ID-table-demo-search',
url: 'http://localhost:8001/findAll', // 此处为静态模拟数据,实际使用时需换成真实接口
method: 'post',
cols: [[
{type: 'radio', title: '😊', fixed: true}, // 单选框
{field:'id', title: 'ID', width:280, sort: true, fixed: true},
{field:'name', title: '用户名', width:180},
{field:'intro', title: '性别', width:280, sort: true},
{field:'career', title: '城市', width:280},
{field:'level', title: '签名',width:280},
{field:'gmtCreate', title: '积分', sort: true, width:280},
{fixed: 'right', title:'操作', width: 134, minWidth: 125, toolbar: '#barDemo'}
]],
page: {
curr: 1
},
});
//监听行工具事件
table.on('tool(ID-table-demo-search)', function(obj){
var row = obj.data;
//data 表示的是本行的数据,可以获取其属性的值
if(obj.event === 'del'){
debugger
layer.confirm('确认删除' + row.name + "吗?", {icon: 3, title:'提示'}, function(index){
$.post({
url: 'http://localhost:8001/delete',
data: JSON.stringify({name: row.name}),
contentType: 'application/json;charset=utf-8',
success: function(res) {
$('#search').trigger("click");
console.log(res);
},
error: function(xhr, status, error) {
alert("没掉")
console.log(xhr);
console.log(status);
console.log(error);
}
});
layer.close(index);
});
} else if(obj.event === 'edit'){
//layui的弹出层
layer.prompt({
formType: 0
//输入框类型,支持0(文本)默认1(密码)2(多行文本)
,value: data.adminPassword
,title: '修改主题'
}, function(value, index){
location.href="AdminServlet?method=update&newpass="+value+"&uid="+data.adminId;
});
}
});
// 日期
laydate.render({
elem: '.demo-table-search-date'
});
// 搜索提交
form.on('submit(demo-table-search)', function(data){
debugger
var defaulPage = 1
// 获取当前页码如果存在就赋值,不存在默认取第一页
var htmlContent = $(".layui-laypage-curr em").text();
if(htmlContent) {
defaulPage = htmlContent
}
console.log("页码",defaulPage)
var field = data.field; // 获得表单字段
// 执行搜索重载
table.reload('ID-table-demo-search', {
page: {
curr: defaulPage
},
where: field // 搜索的字段
});
layer.msg('搜索成功<br>此处为静态模拟数据,实际使用时换成真实接口即可');
return false; // 阻止默认 form 跳转
});
});
表格行里面的操作列:
<script type="text/html" id="barDemo">
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
<!-- 添加在每一行的编辑处的两个按钮 -->
</script>
浙公网安备 33010602011771号