1.0.7 • Published 7 years ago

infinite-scroll-ng v1.0.7

Weekly downloads
1
License
ISC
Repository
github
Last release
7 years ago

infinite-scroll

AngularJS 1中使用的大量数据滚动指令

支持

  • 浏览器支持Chrome,其他暂未做测试
  • 展示数据为树形结构和列表结构
  • 非树形结构在Chrome下支持100W条
  • 仅支持节点高度相同的树形结构和列表

安装

使用说明

propertiestypeRequireddetailexample
dataListArrayyes数据列表list:$scope.dataList = {id:1,txt:'test'},{id:2,txt:'test2'}, tree:$scope.dataList = [{id:1,txt:'level1',level:0,children:{...}]
viewListArrayyes展示列表$scope.viewList = []
itemHeightNumberyes单个节点的高度30
toggleHandlerFunctionno【树形结构】用于展开子节点的方法$scope.toggleHandler = new Function();
getChildNodeApiFunctionno【树形结构】获取子节点数据的方法$scope.getChildNodeApi = function(param){...}; // param的结构{id:id}
isGetChildFromApiStringno【树形结构】是否通过方法拉取子节点数据1
isTreeStringno【树形结构】是否是属性结构1
propListObjectno【树形结构】需要在每个node节点中绑定的属性{id: 'id',fullname: 'txt',level: 'level',parentIds: 'parentIds',isExpand: 'isExpand'}
showCountNumberno固定的展示数量100

示例【树形结构】

<ul class="pd-l-30" ng-if="orgTree"
    data-view-list="viewList1"
    data-data-list="orgTree"
    data-item-height="30"
    data-is-get-child-from-api="1"
    data-toggle-handler="toggleHandler"
    data-get-child-node-api="getChildNodeApi({id:id})"
    data-is-tree="1"
    data-prop-map="propMap2"
    infinite-scrollbar>
    <li class="item-wrapper" ng-repeat="item in viewList1"
        ng-click="toggleHandler(item.id)">
        <!--TODO 自定义内容-->
    </li>
</ul>
   $scope.treeData = ...;
   $scope.viewList2 = [];
   $scope.toggleHandler = new Function();

   $scope.getChildNodeApi = function (param) {
       // TODO 获取子节点
       return new Promise(function (resolve, reject) {
                   let child = [];
                   // TODO child = 子节点数据
                   resolve({children: child});
               });
   }

示例【列表结构】

<ul class="pd-l-30" ng-if="listData"
    data-view-list="viewList2"
    data-data-list="listData"
    data-item-height="30"
    infinite-scrollbar>
    <li class="item-wrapper" ng-repeat="item in viewList2">
        <!--TODO 自定义内容-->
    </li>
</ul>
   $scope.listData = ...;
   $scope.viewList2 = [];