基于ngx-datatable自定义表格

	由于客户需求,移动端由原生页面改为h5版,虽然h5了解不多,但觉得自己还可以抢救一下的,核心技术全靠百度嘛!不慌!也希望各位大佬能点评下。实现效果如下:

最终效果图

一、开发前的想法
起初了解到原生页面使用的第三方控件 ,于是便开始百度生涯,蓦然回首,ngx-datatable在灯火阑珊处。ngx-datatable是一个用于呈现大型复杂数据的Angular组件,具体不赘述,网上教程很多也全面
二、布局构思

在这里插入图片描述

红圈一部分

红圈1部分是固定不动,红圈2部分支持左右滑动,其实ngx-datatable是支持这种样式的,但是起初考虑到1部分里面有定制的元素,于是果断放弃ngx-datatable提供的功能,使用ion-list。这块的难点主要还是根据数据构造页面元素的层级结构,并且支持折叠功能(新增和删除)。部分代码如下:

层级关系
getRowArray(arr,padding) {
    // tempdatas
    if(arr == undefined) return;
    for(var i=0;i<arr.length;i++) {
   
      var obj= arr[i];
      obj['level'] = 15+padding; // level来控制元素左侧距离
      obj['showinfo'] = obj.rows.length>0;
      obj['open'] = false;  // open控制图片是'+'或'-'
      this.tempdatas.push(obj);
      var subArr = obj["rows"];
      if(subArr.length>0){
   
        this.tempdatas.concat(this.getRowArray(obj["rows"],obj.level));
      }
    }
  }
折叠功能(代码量较大就不赘述)

html部分有点粗糙😓待提炼,如下:
在这里插入图片描述

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值