<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## addSelectTable('name值', '標題', '提示', '表格列頭' , '表格數據', '選擇內容的url']) 標識符:`selectTable` >[info]1.4.3或更高版本支持。 >[danger] **注意:該功能僅1.4.3版本以上,并且授權版用戶才有,普通版沒有該功能**。如果您是授權版用戶,請登錄官網后,在補丁下載頁面下載相應補丁。 | 參數 | 含義 | 類型 | | --- | --- | --- | | name | name值 | string | | title | 標題 | string | | tips | 提示 | string | | columns | 表格列頭 | array | | data | 表格數據 | array | | url | 選擇內容的url | string | ``` $columns = [ 'id' => 'ID', 'username' => '用戶名', 'nickname' => '昵稱', ]; // 使用ZBuilder快速創建表單 return ZBuilder::make('form') ->addFormItems([ // 批量添加表單項 ['selectTable', 'test', '測試', '', $columns], ]) ->fetch(); ``` 效果: ![](https://img.kancloud.cn/64/7e/647e51230ef8f37b7f637b39f852f976_1021x174.png) 目前還沒有任何數據,點擊“選擇測試”按鈕可打開彈窗選取表格數據,但必須先設置url。 ``` $columns = [ 'id' => 'ID', 'username' => '用戶名', 'nickname' => '昵稱', ]; // 使用ZBuilder快速創建表單 return ZBuilder::make('form') ->addFormItems([ // 批量添加表單項 ['selectTable', 'test', '測試', '', $columns, [], url('ajax/getUserList')], ]) ->fetch(); ``` 為避免系統檢測節點權限,這里我將代碼寫在ajax控制器,ajax控制沒有繼承admin類,所以不會檢測節點權限。當然,也可以寫在當前控制器,記得在節點管理添加對應的節點即可。 getUserList()方法用ZBuilder創建表格即可。 ``` public function getUserList() { $data_list = Db::name('admin_user')->paginate(); return ZBuilder::make('table') ->addColumns([ ['id', 'ID'], ['username', '用戶名'], ['nickname', '昵稱'] ]) ->setRowList($data_list) ->fetch(); } ``` 這時候點擊“選擇測試”按鈕會彈出顯示用戶列表。 ![](https://img.kancloud.cn/49/b4/49b45614f11323ef4d6a650d3364d587_1171x229.png) >[danger]這里有個地方要注意,1.getUserList()方法創建表格顯示的列要和$columns定義的一致,包括列數和位置都要一致。 接下來,需要給表格添加一個頂部按鈕,用于選取數據。 ``` public function getUserList() { $data_list = Db::name('admin_user')->paginate(); return ZBuilder::make('table') ->addTopButton('select', [ 'title' => '確定', 'icon' => 'fa fa-check', 'class' => 'btn btn-primary', 'id' => 'js-confirm', 'data-name' => 'test' ]) ->addColumns([ ['id', 'ID'], ['username', '用戶名'], ['nickname', '昵稱'] ]) ->setRowList($data_list) ->fetch(); } ``` 添加的頂部按鈕,需要添加id為“`js-confirm`”,并且定義data-name為創建selectTable表單項時的name值,比如上面添加的是 ``` ['selectTable', 'test', '測試', '', $columns, [], url('ajax/getUserList')], ``` 所以按鈕需要添加`data-name=>'test'` 到這里,還需要添加一個js文件 ``` public function getUserList() { $data_list = Db::name('admin_user')->paginate(); return ZBuilder::make('table') ->addTopButton('select', [ 'title' => '確定', 'icon' => 'fa fa-check', 'class' => 'btn btn-primary', 'id' => 'js-confirm', 'data-name' => 'test' ]) ->addColumns([ ['id', 'ID'], ['username', '用戶名'], ['nickname', '昵稱'] ]) ->setRowList($data_list) ->js('../extend/form/selectTable/selectTable') ->fetch(); } ``` 這時候,點擊“選擇測試”按鈕,彈窗顯示列表,勾選后,點擊“確定”即可。 ![](https://img.kancloud.cn/81/a6/81a685abd7ee718992501380139025ca_1184x253.png) ![](https://img.kancloud.cn/c4/5b/c45bda5b4670215820ca265b5a6d16e2_1026x190.png) >[info]因為getUserList方法用ZBuilder創建的,所以你可以使用篩選,排序等等功能。 ``` public function getUserList() { $map = $this->getMap(); $order = $this->getOrder(); $data_list = Db::name('admin_user')->where($map)->order($order)->paginate(); return ZBuilder::make('table') ->addTopButton('select', [ 'title' => '確定', 'icon' => 'fa fa-check', 'class' => 'btn btn-primary', 'id' => 'js-confirm', 'data-name' => 'test' ]) ->addColumns([ ['id', 'ID'], ['username', '用戶名'], ['nickname', '昵稱'] ]) ->setSearch('username,nickname') ->addOrder('username,nickname') ->setRowList($data_list) ->js('../extend/form/selectTable/selectTable') ->fetch(); } ``` ![](https://img.kancloud.cn/20/b5/20b53707da14b59d11294875f84e3b98_1179x253.png) 選取后,會將對應的值回傳到父窗口,提交表單,會自動將所選值發送給服務器,接收的是一個數組,具體可以自己打印`$this->request->post();`查看 >[danger]注意,選取的數據有可能重復,比如選取了兩次一樣的數據 ![](https://img.kancloud.cn/fd/63/fd63d82dbbb23b66381e5d511d5b30a7_1037x217.png) 服務器會接收到兩個id為1的數據,這里需要開發者自行過濾,比如: ``` $post = $this->request->post(); $post['test'] = array_unique($post); ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看