前言:
前後端分離的事項沒由很好的掌握,這部分開發花費了一定的時間,文檔以及學習資料查閱的非常零散,是以希望自己可以整理一下.
遇到的問題:
分頁做不到下面的,經常顯示接口異常;
效果圖:
解決辦法:
前端:
JS:
layui.use(['table','form'], function() {
var table = layui.table,form = layui.form, $ = layui.jquery;
var tableIn = table.render({
id:'ca',
elem: '#list'
,url:"{:url("category/demo")}"
, page: { //支援傳入 laypage 元件的所有參數(某些參數除外,如:jump/elem) - 詳見文檔
layout: ['limit', 'count', 'prev', 'page', 'next', 'skip'] //自定義分頁布局
//,curr: 5 //設定初始在第 5 頁
,limit:5 //一頁顯示多少條
,limits:[5,10,15,30,50]//每頁條數的選擇項
,groups: 1 //隻顯示 1 個連續頁碼
,first: false //不顯示首頁
,last: false //不顯示尾頁
}
,toolbar: '#toolbarDemo'
,cellMinWidth: 80 //全局定義正常單元格的最小寬度,layui 2.2.1 新增
,cols: [[
{type:'checkbox'}
,{field:'id', title: 'ID', sort: true}
,{field:'name', title: '名稱'} //width 支援:數字、百分比和不填寫。你還可以通過 minWidth 參數局部定義目前單元格的最小寬度,layui 2.2.1 新增
,{field:'parent_id', title: '分類', sort: true}
,{field:'listorder', title: '排序序号'}
,{field:'status', title: '狀态',toolbar: '#status'}
,{field:'create_time', title: '建立時間', align: 'center',templet:"<div>{{layui.util.toDateString(d.create_time)}}</div>"} //單元格内容水準居中
,{field:'update_time', title: '更新時間', sort: true, align: 'right',templet:"<div>{{layui.util.toDateString(d.update_time)}}</div>"} //單元格内容水準居中
,{field:'cate_url',width:150,title:'操作',toolbar:'#action_bar'}
]]
});
背景TP5部分的Controller:
//傳回資料表資料
public function demo(){
$key = input('key');
/*$key = '北區';*/
$map = [];
if($key&&$key!=="")
{
$map['name'] = ['like',"%" . $key . "%"];
}
/*echo("234");*/
$page=input("get.page")?input("get.page"):1;
$page=intval($page);
$limit=input("get.limit")?input("get.limit"):1;
$limit=intval($limit);
$start=$limit*($page-1);
//分頁查詢
$data = [
'status' => ['neq',2],
/* 'parent_id' => 0,*/
];
$count=Db::name("category")->count("id");
$cate_list=Db::name("category")->where($data)->where($map)->limit($start,$limit)->select();
$list["msg"]="";
$list["code"]=0;
$list["count"]=$count;
$list["data"]=$cate_list;
if(empty($cate_list)){
$list["msg"]="暫無資料";
}
return json($list);
/*return $categorys;*/
}
Notes: