Angular2 获取动态创建输入的值
Angular2 get values of dynamically created inputs
我有这个输入是从列表 column
动态创建的,现在我需要在某些方法发生时获取输入的所有值(想象 getAllValues()
)
<div *ngFor="let cell of column; let i = index;">
<!-- Material design input-->
<md-input type="{{cell.type}}"
value="{{getInputValue(cell)}}"
[placeholder]="cell.label">
</md-input>
</div>
angular2 获取所有生成输入的值的方法是什么?
最简单的方法是使用 ngForm
<form #myForm="ngForm">
<div *ngFor="let cell of column; let i = index;">
<md-input [type]="cell.type"
[name]="cell.name" <!-- Note the 'name' has to be set -->
[ngModel]="cell.value"
[placeholder]="cell.label"></md-input>
</div>
<a (click)="getAllValues(myForm)">print values</a>
</form>
然后您将可以访问 getAllValues() 函数中的 myForm.form.value 对象。
Plnkr:https://plnkr.co/edit/84mzcNJliMmvszPq3xMm?p=preview
我做的是:
<md-input #input // NOTICE #input
type="{{cell.type}}"
value="{{getInputValue(cell) || '--'}}"
[placeholder]="cell.label"></md-input>
在组件 class 中:
export class MyComponent {
@ViewChildren('input') inputs;
public updateData(): void {
console.log(this.inputs) //this will give access to id and values (explore it on google chromes console)
console.log(this.inputs.toArray().map(x => x.value)) // this gives access to values
}
}
我有这个输入是从列表 column
动态创建的,现在我需要在某些方法发生时获取输入的所有值(想象 getAllValues()
)
<div *ngFor="let cell of column; let i = index;">
<!-- Material design input-->
<md-input type="{{cell.type}}"
value="{{getInputValue(cell)}}"
[placeholder]="cell.label">
</md-input>
</div>
angular2 获取所有生成输入的值的方法是什么?
最简单的方法是使用 ngForm
<form #myForm="ngForm">
<div *ngFor="let cell of column; let i = index;">
<md-input [type]="cell.type"
[name]="cell.name" <!-- Note the 'name' has to be set -->
[ngModel]="cell.value"
[placeholder]="cell.label"></md-input>
</div>
<a (click)="getAllValues(myForm)">print values</a>
</form>
然后您将可以访问 getAllValues() 函数中的 myForm.form.value 对象。 Plnkr:https://plnkr.co/edit/84mzcNJliMmvszPq3xMm?p=preview
我做的是:
<md-input #input // NOTICE #input
type="{{cell.type}}"
value="{{getInputValue(cell) || '--'}}"
[placeholder]="cell.label"></md-input>
在组件 class 中:
export class MyComponent {
@ViewChildren('input') inputs;
public updateData(): void {
console.log(this.inputs) //this will give access to id and values (explore it on google chromes console)
console.log(this.inputs.toArray().map(x => x.value)) // this gives access to values
}
}