新增时,搜索结果包含已选状态数据

项目场景:

项目场景:新增用户 — 根据用户名称搜索 — 已勾选用户时需展示查询出的用户名及其勾选状态


解决方案:

解决方案:如下代码展示:

html:

 <div *ngFor="let item of waitTenantArray" [hidden]="getHidden(item)">

ts:
 

 getHidden(item) {
    let returnFlag = true;
    let th = this;
    if (th.searchKeyword == '' && th.searchKeyword.trim() == '') {
      return false;
    }
    if (item) {
      if (item && item.name.indexOf(th.searchKeyword.trim()) !== -1) {
        returnFlag = false;
        return returnFlag
      }
    }
    return returnFlag
  }

最终效果:

复杂数据类型时候:父级没有选框 ,子级有选框,数据如下图

 

 

   <div class="serviceItem" *ngFor="let serviceItem of roleGroupTreeStructure" [hidden] = 
        "getHidden(serviceItem,false)">
      <div class="serviceTitle">{{serviceItem.title}}</div>
      <div class="sonService" *ngFor="let item of serviceItem.children" 
           [hidden] = "getHidden(item,serviceItem)">
            <label nz-checkbox  [(ngModel)]="item.checked 
           (ngModelChange)="serviceChecked(item)">{{item.title}}</label>
       </div>
   </div>
  getHidden(serviceItem,fatherItem) {
    let returnFlag = true;
    let th = this;
    if (th.serviceKeyword.trim() == '') {
      return false;
    }
    if (!fatherItem) {
      if (serviceItem && serviceItem.children && serviceItem.children.length > 0) {
        if (serviceItem && serviceItem.title.indexOf(th.serviceKeyword.trim()) !== -1) {
          returnFlag = false;
          return returnFlag
        }
        serviceItem.children.some(item => {
          if (item.title.indexOf(th.serviceKeyword.trim()) !== -1) {
            returnFlag = false;
            return true;
          }
        })
      }
    }else if (fatherItem) {
      if (fatherItem && fatherItem.title.indexOf(th.serviceKeyword.trim()) !== -1) {
        returnFlag = false;
        return returnFlag
      }else if (serviceItem && serviceItem.title.indexOf(th.serviceKeyword.trim()) !== -1) {
        returnFlag = false;
        return returnFlag
      }
    }
    return returnFlag
  }

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值