1. 程式人生 > 其它 >TP6框架--EasyAdmin學習筆記:列表調用搜索,開發常見問題記錄

TP6框架--EasyAdmin學習筆記:列表調用搜索,開發常見問題記錄

這是我寫的學習EasyAdmin的第五章,這一章我給大家分享下列表調用搜索的相關知識,並記錄說明下開發時碰到的常見問題

首先說明下如何在頁面中呼叫layui的搜尋,效果如下:

程式碼如下:

define(["jquery", "easy-admin"], function ($, ea) {

    var init = {
        table_elem: '#currentTable',
        table_render_id: 'currentTableRenderId',
        index_url: 'mall.cate/index',
        add_url: 
'mall.cate/add', edit_url: 'mall.cate/edit', delete_url: 'mall.cate/delete', export_url: 'mall.cate/export', modify_url: 'mall.cate/modify', }; var Controller = { index: function () { ea.table.render({ init: init, cols: [[ {type:
"checkbox"}, {field: 'id', width: 80, title: 'ID'}, {field: 'sort', width: 80, title: '排序', edit: 'text'}, {field: 'title', minWidth: 80, title: '分類名稱'}, {field: 'image', minWidth: 80, title: '分類圖片', search: false, templet: ea.table.image}, {field:
'remark', minWidth: 80, title: '備註資訊'}, {field: 'status', title: '狀態', width: 85, search: 'select', selectList: {0: '禁用', 1: '啟用'}, templet: ea.table.switch}, {field: 'create_time', minWidth: 80, title: '建立時間', search: 'range'}, {width: 250, title: '操作', templet: ea.table.tool} ]], }); ea.listen(); }, add: function () { ea.listen(); }, edit: function () { ea.listen(); }, }; return Controller; });
search: 'select'代表這一行資料是列表框展示,
search: false 代表關閉這一行的搜尋
search: 'range'代表時間查詢

下面記錄一些我開發時碰到的問題:

1.layui提交表莫名奇妙提交了兩次

解決方法:檢查是否多次匯入了layui的js,layui的js每匯入一次就建立一次事件,並且不會被替換。

2.EasyAdmin原方法如何聯三表四表

解決方法:

mods中加上方法(這裡是案例)

接口裡呼叫

3.如何修改原生到處介面:

解決方法:

方法裡寫上:

    /**
     * @NodeAnotation(title="匯出")
     */
    public function export()
    {
        list($page, $limit, $where) = $this->buildTableParames();
        $tableName = $this->model->getName();
        $tableName = CommonTool::humpToLine(lcfirst($tableName));
        $prefix = config('database.connections.mysql.prefix');
        $dbList = Db::query("show full columns from {$prefix}{$tableName}");
        $header = [];
        foreach ($dbList as $vo) {
            $comment = !empty($vo['Comment']) ? $vo['Comment'] : $vo['Field'];
            if (!in_array($vo['Field'], $this->noExportFields)) {
                $header[] = [$comment, $vo['Field']];
            }
        }
        $list = $this->model
            ->where($where)
            ->limit(100000)
            ->order('id', 'desc')
            ->select()
            ->toArray();
        $fileName = time();
        return Excel::exportData($list, $header, $fileName, 'xlsx');
    }

直接在介面頁面加上這個方法,在裡面修改即可。

如果本文對你有所幫助,麻煩你點個贊,下一章講下如何處理excel的表單資料和圖片。