layui treeSelect


官方地址:https://fly.layui.com/extend/treeSelect/

下面介紹一下這個插件的使用方法

1.html頁面

<div class="layui-input-block">
      <input name="pid" value="" type="text" id="tree" lay-filter="tree" class="layui-input">
</div>

2.js引入插件(引入多個插件的方法)

layui.config({
    base: '__ROOT__/static/'      //公共的文件夾
    ,version: new Date().getTime()
  }).extend({                    //需要引入的插件
        treetable: 'plugs/treetable-lay/treetable',
        treeSelect: 'treeSelect', //這是此文章需要的插件
        authtree: 'authtree'
  });

3.寫入js方法

treeSelect.render({
            // 選擇器
            elem: '#tree',
            // 數據
            data: "{:url('systemmenu/getAllRule')}",   //寫成自己的接口(切記這里的數據一定是json格式)
            // 異步加載方式:get/post,默認get
            type: 'get',
            // 占位符
            placeholder: '修改默認提示信息',
            // 是否開啟搜索功能:true/false,默認false
            search: true,
            // 一些可定制的樣式
            style: {
                folder: {
                    enable: true
                },
                line: {
                    enable: true
                }
            },
            // 點擊回調(可以獲取到點擊時候的值)
            click: function(d){
                $('#tree').val(d.current.id);
            },
            // 加載完成后的回調函數
            success: function (d) {
               //選中節點,根據id篩選
             treeSelect.checkNode('tree',$("#tree").val());

               //獲取zTree對象,可以調用zTree方法
               var treeObj = treeSelect.zTree('tree');

            }
        });

4.PHP接口(這里根據自己的需求寫好接口處理成樹形接口,返回方式必須是json格式)

public function  getAllRule(){
        $list = $this->modelSystemMenuModel->field(['id', 'pid', 'name'])->order('sort desc,id desc')
            ->select()
            ->toArray();
        $list = list_to_tree($list);
        array_unshift($list, ['id' => 0, 'pid' => -1, 'name' => '頂級菜單']);

        return json($list);
    }
function list_to_tree($list, $pk = 'id', $pid = 'pid', $child = 'children', $root = 0) {
        // 創建Tree
        $tree = array();

        if (is_array($list)) {
            // 創建基於主鍵的數組引用
            $refer = array();
            foreach ($list as $key => $data) {
                $refer[$data[$pk]] = & $list[$key];
            }
            foreach ($list as $key => $data) {
                // 判斷是否存在parent
                $parentId = $data[$pid];
                if ($root == $parentId) {
                    $tree[] = & $list[$key];
                } else {
                    if (isset($refer[$parentId])) {
                        $parent = & $refer[$parentId];
                        $parent[$child][] = & $list[$key];
                    }
                }
            }
        }
        return $tree;
    }

下面就是完成后的顯示樣子

 

作者:dream


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM