【问题标题】:Angular2 How to Handle null value in .find methodeAngular2如何处理.find方法中的空值
【发布时间】:2018-11-22 20:53:41
【问题描述】:

在这里,我编写了简单的 .find 方法,它可以很好地找到我的数据,但如果该记录不可用,那么它会显示第一条记录

public _pagedItems : any;
    someval(value){
     if(value.length>=5){
        this._pagedItems= this.allItems.find(e=>e.uniqueid = value);
        this.pagedItems=[];
        this.pagedItems.push(this._pagedItems);

      }

如果我的 uniquId 不可用,那么它应该显示 Nodata OR Null

【问题讨论】:

  • 检查if (e.uniqueid)
  • @onetwo12 我如何在 lamda expresson 中写 if(e.uniqueid)
  • 如果没有匹配项,则 find() 方法返回 undefined。 See also

标签: angular2-forms angular4-forms


【解决方案1】:

这是一个处理 null 和 undefined 并且不返回类似数据的示例

您的代码看起来有问题。您是使用 (=) 符号的代码。所以改变(==)。

=和==的区别(=)等号是赋值(==)符号是比较一个值

这里有更合适的例子,

public _pagedItems : any[]=[];
    someval(value:string){

    if(!this.isObjNull(value) && !this.isObjNull(this.allItems) && this.allItems.length>0){

     if(value.length>=5){
          if(this.allItems.find(e=>e.uniqueid ==value)){
               //you need one data use find
               this._pagedItems=this.allItems.find(e=>e.uniqueid == value);

              //you need multiple data use filter
              this._pagedItems = this.allItems.filter(e=>e.uniqueid == value);
          }
         //here Iam logged final variable 
         console.log("Final Paged Items",this._pagedItems);
      }
}
}

//here is the method check null and undefined.
isObjNull(data){
       If(data!=null && data!=undefined){
           return true:
       }else{
            return false;
       }
}

你可以这样处理html部分

<ng-container *ngIf="_pagedItems; else noData">
    <ng-container *ngIf="_pagedItems.length>0; else noData">
        <!--   do you logic here.like *ngFor -->
    </ng-container>
</ng-container>

<ng-template #noData>
     <p>No data found</p>
</ng-template>

这一切让我们尝试一次。如果有任何错误请告诉我。

注意:- 这里我使用了示例变量,请替换您的实际变量。

有关比较相关的更多内容,请访问此处。 Difference between == and === in JavaScript

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-30
    • 1970-01-01
    • 1970-01-01
    • 2015-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多