angular-ui-tree的使用总结

关于angular-ui-tree插件的介绍这里不做解释,大家可以百度。这里只是介绍angular-ui-tree的使用。(js代码直接参照官网给的,本文不再解释)
废话不多说,直接上demo


<div ng-controller="common.views.appointRegion.appointRegionTree as vm">
    <!-- Nested node template -->
    <script type="text/ng-template" id="nodes_renderer.html">
        <div>
            <div ui-tree-handle class="tree-node tree-node-content">
                <a class="btn btn-success btn-xs" ng-if="node.nodes && node.nodes.length > 0" data-nodrag ng-click="toggle(this)">
                    <span class="glyphicon"
                          ng-class="{
          'glyphicon-chevron-right': collapsed,
          'glyphicon-chevron-down': !collapsed
        }"></span>
                </a>
                {{node.name}}
                <a ng-if="node.levelIndex!=0" class="pull-right btn btn-danger btn-xs" data-nodrag ng-click="removeItem(this)">
                    <span class="glyphicon glyphicon-remove"></span>
                </a>
                <a ng-if="node.levelIndex!=2" class="pull-right btn btn-warning btn-xs" data-nodrag ng-click="newSubItem(this)" style="margin-right: 8px;">
                    <span class="glyphicon glyphicon-plus"></span>
                </a>
                <a  class="pull-right btn btn-primary btn-xs" data-nodrag ng-click="edit(this)" style="margin-right: 8px;">
                    <span class="glyphicon glyphicon-edit"></span>
                </a>
            </div>
            <ol ui-tree-nodes="" ng-model="node.nodes" ng-class="{hidden: collapsed}">
                <li ng-repeat="node in node.nodes" ui-tree-node data-collapsed="true" ng-include="'nodes_renderer.html'" ng-show="visible(node)">
                </li>
            </ol>
        </div>
    </script>
  <div ui-tree data-drag-enabled="false" data-max-depth="2" id="tree-root">
                <ol ui-tree-nodes ng-model="data">
                    <li ng-repeat="node in data"  ui-tree-node  data-collapsed="true" ng-include="'nodes_renderer.html'" ng-show="visible(node)"></li>
                </ol>
            </div>
1、
type="text/ng-template"
        如果你是一个angular的开发者的话,对于ng-html2js你应该 很熟悉。对于angular的指令,我们经常需要定义模板( directive template/templateUrl),你可以选择讲html page 放在真正的的web容器中寄宿,也可以选择angular的ng-template 放在view的page之上,抑或也可以讲html打成一个js文件和directive 的js文件合并在一起发布。(个人觉得这句话写的很好)

2、

data-drag-enabled="false"
禁止拖拽 ,默认为true

3、

data-max-depth="2"
遍历的深度,当前深度为2

4、

data-collapsed="true"
当前状态为折叠,即不展开

后台参考代码c#,使用无限极遍历。

     var listnode=FindOrgTypeList(node);
            FillTree(listnode);
            return listnode;

        }


        private void FillTree(List<Node> orgTypeList)
        {
            if (orgTypeList != null)
            {
                foreach (Node orgType in orgTypeList)
                {
                    Node node = new Node();
                    node.Id = orgType.Id;
                    List<Node> orgChildList =FindOrgTypeList(node);
                    orgType.nodes.AddRange(orgChildList);
                    FillTree(orgChildList);
                }
            }
        }

        private List<Node> FindOrgTypeList(Node node)
        {

              var nodelist=  _appointRegionRepository.GetAll()
                .WhereIf(!node.Id.ToString().IsNullOrWhiteSpace(), m => m.ParentId == node.Id)
                .WhereIf(node.LevelIndex!=null,m=>m.LevelIndex==node.LevelIndex)
                .ToList()
                .MapTo<List<Node>>();
                return nodelist;
          
        }


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值