1. layui table 中后台返回数据格式不是默认格式,修改方法:
但是版本有限制为 layui 2.4.0 开始新增
table.render({
elem: '#demp'
,url: ''
,parseData: function(res){ //res 即为原始返回的数据
return {
"code": res.status, //解析接口状态
"msg": res.message, //解析提示文本
"count": res.total, //解析数据长度
"data": res.data.item //解析数据列表
};
}
//,…… //其他参数
});
2.对分页请求的参数:page、limit重新设定名称,如:
table.render({
elem: '#demp'
,url: ''
,request: {
pageName: 'pageIndex' //页码的参数名称,默认:page
,limitName: 'pageSize' //每页数据量的参数名,默认:limit
}
//,…… //其他参数
});
3.时间控件
laydate.render({
elem: '#start_radiography_time', //指定元素
theme: 'molv', //主题
type: 'datetime',
format: 'yyyy-MM-dd HH:mm',
trigger: 'click',//处理偶发性不弹出bug
ready: function(date) {//选择了日期之后自动弹出时间选择
$(".layui-laydate-content").on('click','table tbody tr td',function(){
$(".layui-btns-time").click();
});
},
done: function (value, date, endDate) {
self.diagtreat.start_radiography_time = value;
}
});
4.使用 vue 数据绑定:
checkbox
lay-filter 设置过滤器
:checked 选中
<input type="checkbox" name="is_arrest" value="1" title="发病后曾出现心脏骤停"
:checked="emergen.is_arrest==1" lay-filter="emergen" :disabled="reg.status==2">
form.on('checkbox(emergen)', function (data) {
let $ = data.elem;
let name = $.name;
self.emergen[name] = data.elem.checked ? '1' : '0';
form.render('checkbox');
})
radio
:disabled 显示
<input type="radio" name="cp_diagnosis_code" value="1" title="诊断中"
v-model="emergen.cp_diagnosis_code" lay-filter="emergen"
:disabled="reg.status==2">
<input type="radio" name="cp_diagnosis_code" value="2" title="STEMI"
v-model="emergen.cp_diagnosis_code" lay-filter="emergen"
:disabled="reg.status==2">
form.on('radio(emergen)', function (data) {
let $ = data.elem;
let name = $.name;
self.emergen[name] = data.value;
if(name=='cp_diagnosis_code'){
self.reg[name] = data.value;
self.diagtreat[name] = data.value;
self.out[name] = data.value;
}
if(name=='is_direct'){
self.diagtreat[name] = data.value;
}
form.render('radio');
})
列表最后一页只有一条数据,删除后,页码自动减一,跳到上一页
/**
*table.cache存储的就是table的所有表格当前页的数据缓存
*tablediv table的id:<table class="layui-hide" id="tablediv" lay-filter="tablediv"></table>
*tableIns对象就是创建的 table.render() 对象返回值
*/
var tableIns = table.render({
cols: [[ //标题栏
{checkbox: true}
,{field: 'id', title: 'ID', width: 80}
,{field: 'username', title: '用户名', width: 120}
]]
});
var currCount = table.cache['tablediv'].length;
if(currCount=='1'){
table.reload('tablediv', {
where: { //设定异步数据接口的额外参数,任意设
},
page: {
curr: tableIns.config.page.curr-1 //重新从第 1 页开始
}
});
}else{
table.reload('tablediv', {
where: { //设定异步数据接口的额外参数,任意设
},
});
}