根据 Angular 中的变量设置 HTML 输入的数量
Set number of HTML inputs depending on variable in Angular
我正在开发一个航班预订系统,我正在尝试在 HTML 组件中添加输入,规则是输入的数量取决于所选的乘客数量。因此,如果用户选择他想为 5 人预订座位,他将有 5 个输入字段,他必须在其中输入这些乘客的姓名。
我试图根据用户给出的数字使用 innerHTML 进行乘法运算,但这没有用。
现在我有 1 个输入,如下所示:
Passengers data:
<li><input type="text" [(ngModel)]="passengersData[0]" placeholder="Name and surname"></li>
我也在考虑使用 ngIf 但卡住了。坦率地说,我不知道如何让它发挥作用。感谢您帮助解决这个问题
STACKBLITZ:https://stackblitz.com/edit/flight-date-picker-with-service-done
您基本上需要的是一种使用 ngFor 为指定乘客数重复呈现乘客表单的方法。
您可以在 summary.component.ts
:
中创建这样的函数
createRange(number){
var items: number[] = [];
for(var i = 1; i <= number; i++){
items.push(i);
}
return items;
}
并将您的模板更新为:
<li *ngFor="let passenger of createRange(showStorage.passengersNumber); let i=index"><input type="text" [(ngModel)]="passengersData[i]" placeholder="Name and surname"></li>
我正在开发一个航班预订系统,我正在尝试在 HTML 组件中添加输入,规则是输入的数量取决于所选的乘客数量。因此,如果用户选择他想为 5 人预订座位,他将有 5 个输入字段,他必须在其中输入这些乘客的姓名。
我试图根据用户给出的数字使用 innerHTML 进行乘法运算,但这没有用。
现在我有 1 个输入,如下所示:
Passengers data:
<li><input type="text" [(ngModel)]="passengersData[0]" placeholder="Name and surname"></li>
我也在考虑使用 ngIf 但卡住了。坦率地说,我不知道如何让它发挥作用。感谢您帮助解决这个问题
STACKBLITZ:https://stackblitz.com/edit/flight-date-picker-with-service-done
您基本上需要的是一种使用 ngFor 为指定乘客数重复呈现乘客表单的方法。
您可以在 summary.component.ts
:
createRange(number){
var items: number[] = [];
for(var i = 1; i <= number; i++){
items.push(i);
}
return items;
}
并将您的模板更新为:
<li *ngFor="let passenger of createRange(showStorage.passengersNumber); let i=index"><input type="text" [(ngModel)]="passengersData[i]" placeholder="Name and surname"></li>