树形组件问题~~

提问 未结 16 207
瀑布点石头
悬赏:100飞吻
版本:layui 浏览器:
无连接线风格的树形组件,如何让它展开的时候,箭头向下


回帖
  • 0 回复
  • @小小叶 这个只是设置节点是否初始展开,跟这个箭头的样式无关啊
    0 回复
  • @瀑布点石头 在渲染成功回调里面,样式改变箭头的指向
    0 回复
  • @小小叶 树形组件 没有 成功的回调,只有点击列表的时候的回调,但是这个回调不作用与 箭头图标,也就是说你点击箭头图标不会触发click。就不能在回调中修改~
    0 回复
  • @小小叶 这就很难弄了~
    0 回复
  • 可以在组件里面修改,加个渲染成功的回调,抛出这个方法就可以;点击的回调的元素,可以在组件里面修改,动态改变
    0 回复
  • //主体渲染
    Class.prototype.render = function(){
    var that = this
    ,options = that.config;

    var temp = $('<div class="layui-tree'+ (options.showCheckbox ? " layui-form" : "") + (options.showLine ? " layui-tree-line" : "") +'" lay-filter="LAY-tree-'+ that.index +'"></div>');
    that.tree(temp);

    var othis = options.elem = $(options.elem);
    if(!othis[0]) return;

    if(options.showSearch){
    temp.prepend('<input type="text" class="layui-input layui-tree-search" placeholder="请输入关键字进行过滤">');
    };


    //索引
    that.key = options.id || that.index;


    //插入组件结构
    that.elem = temp;
    that.elemNone = $('<div class="layui-tree-emptyText">'+ options.text.none +'</div>');
    othis.html(that.elem);

    if(that.elem.find('.layui-tree-set').length == 0){
    return that.elem.append(that.elemNone);
    };

    //拖拽事件
    options.drag && that.drag();

    //复选框渲染
    if(options.showCheckbox){
    that.renderForm('checkbox');
    };

    that.elem.find('.layui-tree-set').each(function(){
    var othis = $(this);
    //最外层
    if(!othis.parent('.layui-tree-pack')[0]){
    othis.addClass('layui-tree-setHide');
    };

    //没有下一个节点 上一层父级有延伸线
    if(!othis.next()[0] && othis.parents('.layui-tree-pack').eq(1).hasClass('layui-tree-lineExtend')){
    othis.addClass(ELEM_LINE_SHORT);
    };

    //没有下一个节点 外层最后一个
    if(!othis.next()[0] && !othis.parents('.layui-tree-set').eq(0).next()[0]){
    othis.addClass(ELEM_LINE_SHORT);
    };
    });
    options.success&&options.success(temp) //渲染成功回调

    that.events();
    };
    0 回复
  • @小小叶 这个是tree.js 里面的代码吗? 没找到呢...0.0
    0 回复

  • 这个效果可以满足你的需求吗
    0 回复
  • @有好过mou啊 可以,不要前面那个白色的图标~
    0 回复