Чтобы добавить строки, вам просто нужно поместить данные в ваш массив.
Если вы хотите, чтобы ваши существующие данные были простым отображаемым текстом, а ваши новые данные - входными данными, вам нужно будет добавить новое свойство к каждому phoneNotice, чтобы знать, установлен ли этот элемент или этот элемент нужно установить / изм
В вашем файле .ts:
// Add a new property to each item of the array, to know if the item has to be displayed as text or needs to be displayed as an input
phoneNotices: Array<{ name: string, phone: string, set: boolean }> = [
{ name: "Ελένη Γεωργίου", phone: "211 45 55 456", set: true },
{ name: "Βαγγέλης Γεωργίου", phone: "687 64 52 354", set: true },
{ name: "Αγγελική Γεωργίου", phone: "687 64 52 354", set: true },
];
// Now you set a function to push data to your array when user wants to add something. You can for example list this function to a button
add(){
// We add an empty element to the array
this.phoneNotices.push(name: "", phone: "", set: false)
}
// This function will allow you to make a ion-input become a simple text display when users finishes to input the phoneNotice item
validate(index){
// We set the phoneNotice at given index completed
this.phoneNotices[index].set = true;
}
Теперь в вашем HTML-файле:
<ion-row *ngFor="let phoneNotice of phoneNotices; let i = index;" style="margin-bottom:2px;background: #272753;">
<ion-col col-1>
<img src="../assets/imgs/drag-icon.png" style="height:20px;width:20px;">
</ion-col>
<ion-col col-5 style="color:#ffffff">
<ion-input *ngIf="!phoneNotice.set" type="text" [(ngModel)]="phoneNotice.name">
<p *ngIf="phoneNotice.set">{{phoneNotice.name}}</p>
</ion-col>
<ion-col col-5 style="color:#ffffff">
<ion-input *ngIf="!phoneNotice.set" type="tel" [(ngModel)]="phoneNotice.phone">
<p *ngIf="phoneNotice.set">{{phoneNotice.phone}}</p>
</ion-col>
<ion-col col-1 *ngIf="phoneNotice.set">
<ion-icon float-right name="close" style="color:#ffffff; margin-right:10px"></ion-icon>
</ion-col>
<ion-col col-1 *ngIf="!phoneNotice.set">
<button ion-button (click)="validate(i)">Validate</button>
</ion-col>
</ion-row>
В html-файле есть директивы *ngIf
, позволяющие выбрать отображение простого текста или ввода в зависимости от того, закончил ли пользователь вводить элемент phoneNotice, а также показать / скрыть кнопку подтверждения в зависимости от того, является ли элемент это текст или ввод