【发布时间】:2019-11-10 18:50:40
【问题描述】:
我正在尝试从角度表单组中获取值。
当我使用formControlName 时,我可以获取该值,但是当我使用[formControl] 时,我无法读取该值。
我正在使用 [formControl],因为我需要对输入字段进行自动完成。这是我的代码
HTML:
<form class="form-horizontal" novalidate autocomplete="off" (ngSubmit)="searchTransaction()" [formGroup]="searchForm">
<mat-form-field *ngIf="searchForm.get('searchType').value==2" class="example-full-width">
<input matInput placeholder="Integrated Client" [formControl] = "Client" [matAutocomplete]="auto">
<mat-autocomplete #auto="matAutocomplete">
<mat-option *ngFor="let option of clientfilteredOptions | async" [value]="option">
{{option}}
</mat-option>
</mat-autocomplete>
</mat-form-field>
打字稿:
export class TransactionSearchComponent implements OnInit{
constructor(private fb:FormBuilder,private transactionService:TransactionService, private LoginvalidationService:LoginvalidationService, private ExcelService:ExcelService){ }
searchForm:FormGroup;
Client = new FormControl();
ngOnInit(): void {
this.searchForm=this.fb.group({
client:[''],
})
this.clientfilteredOptions = this.Client.valueChanges
.pipe(
startWith(''),
map(value => this._Clientsfilter(value))
);
}
private _Clientsfilter(value: string): string[] {
const filterValue = value.toLowerCase();
return this.clients.filter(option => option.toLowerCase().includes(filterValue));
}
searchTransaction(){
console.log(this.searchForm.get('client').value);
}
【问题讨论】:
标签: angular typescript angular6 form-control