代码之家  ›  专栏  ›  技术社区  ›  user1012506

如何将新项推送到空数组中?

  •  -3
  • user1012506  · 技术社区  · 6 年前

    我有一系列的研究小组 *ngFor , 学生列表将父组件发送给bi, 当studentlist为空时,我希望看到组件上有一行是空的, 这是数组:

     @Input() studentList: Student[] = []; //child property
    

    在父CMP中:

     get studentList(): Student[] {      //parent property
          const arr: Array<Student> = new Array<Student>();
    if (getStudents()){
          arr=getStudents();
    }
    else{
          arr.push(new Student());
          return (arr);
        }
      }
    

    getStudents() 是返回空值的模拟方法, Student 是一个简单的类 idNumber studentName 道具 但是如果ARR是空的, *NGOF 不显示任何行。

    4 回复  |  直到 6 年前
        1
  •  0
  •   Sujay    6 年前

    在这种情况下你能做的就是使用

    *ngIf=studentList.length === 0 使用此条件显示空行

    *ngIf=studentList.length > 0 当数据可用时使用此条件。

        2
  •  0
  •   Jai    6 年前

    你可以试试这个:

    get studentList(): Student[] {
        const arr: Array<Student> = [];
        if (arr.length){
           arr = getStudents();
        }else{
          arr = [new Student()];
        }
        return arr; // return it here.
    }
    
        3
  •  0
  •   user1012506    6 年前

    需要宣布学生为[];

    get studentList(): Student[] {      //parent property
          const arr: Student[] = []
    if (getStudents()){
          arr=getStudents();
    }
    else{
          arr.push(new Student());
          return (arr);
        }
      }
    
        4
  •  0
  •   Hana Wujira    6 年前

    您可以在HTML文件中执行类似的操作

    <table>
    <thead>
    ------
    </thead>
        <tbody>
        <tr *ngFor="student of students">
        </tr>
        <tr *ngIf="students.length==0">
        </tr>
        </tbody>
    </table>