gpt4 book ai didi

angular - 如何使用 Angular Material 6 自动完成数据服务器

转载 作者:太空狗 更新时间:2023-10-29 17:34:36 24 4
gpt4 key购买 nike

我正在使用 Angular 6 和 Material 6 开发一个简单的页面。我想使用 Material 的自动完成功能从服务中恢复数据,但我不知道如何做好。

来自官方例子https://material.angular.io/components/autocomplete/overview我不明白如何使用服务将其与自动完成集成。

谁能帮帮我?

谢谢

最佳答案

终于,我找到了我想做的事情的解决方案!要将 FormArray 绑定(bind)到垫表数据源,您必须:简而言之,示例是这样的:

<table mat-table [dataSource]="itemsDataSource">
<ng-container matColumnDef="itemName">
<td mat-cell *matCellDef="let element">{{ element.value.material?.name }}</td>
</ng-container>
<ng-container matColumnDef="itemCount">
<td mat-cell *matCellDef="let element">{{ element.value.itemCount }}</td>
</ng-container>
<tr mat-row *matRowDef="let row; columns: itemColumns;"></tr>
</table>

和代码:

export class ItemListComponent implements OnInit {
constructor(
private fb: FormBuilder
) { }
itemColumns = ['itemName', 'count'];
itemForm: FormGroup;
itemsDataSource = new MatTableDataSource();
get itemsForm() {
return this.itemForm.get('items') as FormArray;
}
newItem() {
const a = this.fb.group({
material: new FormControl(), //{ name:string }
itemCount: new FormControl() // number
});
this.itemsForm.push(a);
this.itemsDataSource._updateChangeSubscription(); //neccessary to render the mat-table with the new row
}
ngOnInit() {
this.itemForm = this.fb.group({
items: this.fb.array([])
});
this.newItem();
this.itemsDataSource.data = this.itemsForm.controls;
}
}

关于angular - 如何使用 Angular Material 6 自动完成数据服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50651563/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com