treeSelect组件重构,整合ztree

分享 未结
49 1154
无求丶
无求丶 2018-10-7
悬赏:20飞吻
基于 layui和ztree的树形下拉选择器。支持异步加载,提供点击回调和加载完成后的回调,支持搜索、占位符修改、手动选中节点以及刷新树结构,更多功能参见详细介绍。

演示地址: https://wujiawei0926.gitee.io/treeselect/
组件地址: https://fly.layui.com/extend/treeSelect/
码云地址: https://gitee.com/wujiawei0926/treeselect
回帖
  • 我修改了大佬的源码,实现效果是点击父级节点无效,方法如图:
    treeSelect.js


    执行方法中的click回调函数:


    1 回复
  • 谢谢大佬的分享
    0 回复


  • 大佬 为什么我这个json文件老是显示404 文件路径也没错啊
    0 回复
  • DC
    2018-10-8
    @夏洛克牛逼 你加载的路径为layui/data/data.json,而你展示的目录显示你的data.json却在layui/json/下面
    0 回复
  • @DC 不好意思 犯了这么粗心的错误 感谢提醒
    0 回复
  • ku99
    2018-10-8
    这个弄成多选的岂不更NB?
    0 回复
  • Z_S
    2018-10-9

    大佬组件的data不能这么用吗?
    0 回复
  • Z_S
    2018-10-9
    还有大神你这说的详细功能介绍在哪呢?也没找到![黑线]
    0 回复
  • 无求丶
    2018-10-9
    @Z_S data只能是一个请求地址,可以参考码云上面的demo
    0 回复
  • Snail2009
    2018-10-10
    好像无法初始化值,以及通过原控件ID 无法获取到对应的选择的值.
    0 回复
  • Z_S
    2018-10-10
    @无求丶 如果我想用本地数据这个扩展就没法使用了是把!
    0 回复
  • beijixingtu
    2018-10-16
    插件确实是好插件,有个小bug ,当下拉树只有一个顶级节点时,顶级节点左侧图标出不来,能修复下吗
    0 回复
  • AAbb
    2018-10-17
    这个支持简易数据的json吗
    0 回复
  • AAbb
    2018-10-17
    @AAbb 我已经改好了,谢谢,重新加上支持本地json数据
    0 回复
  • AAbb
    2018-10-17

    有个问题,为什么表单submit验证lay-verify="required" 不通过
    0 回复
  • 请问大神,我使用了treeSelect之后,加载每次都需要1秒左右,无法直接渲染,请问有什么设置吗
    0 回复
  • 上浅草涯
    2018-10-25
    感谢,已经用上
    0 回复
  • 大佬,求问下,返回的数据格式是 ,而js的接口接受的数据是直接一维数组形式。求问在哪改变赋值下标。。
    0 回复
  • 老哥。treeSelect.refresh();为什么没效果?而且括号内不传filter报错,传了也没有效果。
    0 回复
  • 麻烦问下您,我把您的组件加入到自己的项目内,配置感觉也没多大问题,不知道为什么checknode方法,报错,我直接把你的项目文件夹拷贝到我的项目里,使用你的页面就没有问题,麻烦看下

    0 回复
  • cao
    2018-11-7
    因为后台传的数据格式不对,我需要在本地请求过来整理完才行,这个不能使用本地数据吗?
    0 回复
  • cao
    2018-11-7
    @AAbb 能问下是怎样修改的吗?
    0 回复
  • 上瘾446
    2018-11-10
    请问elem元素选择器能这样填吗
    0 回复
  • helloi
    2018-11-12
    这个请求头怎么设置啊 急求
    0 回复
  • helloi
    2018-11-12
    这个请求头怎么设置啊 急求
    0 回复
  • Jian268
    2018-11-14
    可以禁用组件吗?怎么禁用组件
    0 回复
  • AAbb
    2018-11-16
    @cao 修改源码
    // 是否开启搜索
    search = options.search === undefined ? false : options.search,
    // 唯一id
    tmp = new Date().getTime(),
    //增加remote 2018-10-17
    remote =options.remote === undefined ? false : options.remote,

    var a = {
    init: function(){
    if(!remote){
    DATA = options.data;
    a.hideElem().input().toggleSelect().loadCss().preventEvent();
    $.fn.zTree.init($('#' + TREE_SELECT_BODY_ID), a.setting(), options.data);
    if (search) {
    a.searchParam();
    }
    TREE_OBJ = $.fn.zTree.getZTreeObj(TREE_SELECT_BODY_ID);
    if (success){
    var obj = {
    treeId: TREE_SELECT_ID,
    data: options.data
    };
    success(obj);
    }
    return a;
    }else{
    $.ajax({
    url: data,
    type: type,
    dataType: 'json',
    success: function (d) {
    DATA = d;
    a.hideElem().input().toggleSelect().loadCss().preventEvent();
    $.fn.zTree.init($('#' + TREE_SELECT_BODY_ID), a.setting(), d);
    if (search) {
    a.searchParam();
    }
    TREE_OBJ = $.fn.zTree.getZTreeObj(TREE_SELECT_BODY_ID);
    if (success){
    var obj = {
    treeId: TREE_SELECT_ID,
    data: d
    };
    success(obj);
    }
    }
    });
    }
    return a;
    },
    setting: function () {
    var setting = {
    data:{
    simpleData: {
    enable: options.simpleData.enable===undefined?false:options.simpleData.enable,
    idKey: options.simpleData.idKey===undefined?"id":options.simpleData.idKey,
    pIdKey: options.simpleData.pIdKey===undefined?"pId":options.simpleData.pIdKey,
    rootPId: null
    }
    },
    callback: {
    onClick: a.onClick,
    onExpand: a.onExpand,
    onCollapse: a.onCollapse
    }
    };
    return setting;
    },
    0 回复
  • AAbb
    2018-11-16
    @十三朵朵 我也是有时候会出现这个错误,有时候好的,时好时坏,有时候多点几次就出来了
    0 回复
  • treasureliu
    2018-11-20
    初始赋值怎么做的?
    0 回复
  • 物是人非
    2018-11-20
    初始默认选中未什么报错???id与lay-filter都是正确的呀??
    0 回复