【发布时间】:2022-08-18 00:29:25
【问题描述】:
我正在使用 Angular 13 和 PrimeNG 13。我想将下拉列表绑定到表单控件。在我的编辑表单中,我使用了这样的 p-dropdown
<p-dropdown [options]=\"clients\" placeholder=\"Select a Client\" optionLabel=\"name\"
[(ngModel)]=\"editClientObj\"
dataKey=\"clientId\"
formControlName=\"clientId\"></p-dropdown>
我的 \"options\" 值是一个看起来像这样的对象数组......
[{name: \'Mike\', clientId: 3}, { ... }]
在我的服务文件中,我触发了使用正确值设置表单的函数
edit(obj:ClientOrder){
this.editClientObj = obj;
...
this.form = this.formbuilder.group({
...
clientId: [obj.clientId, Validators.required]
});
但是,当我提交表单时,表单控件的 \"clientId\" 字段设置为对象 {name: \'Mike\', customerId: 3},而不仅仅是 ID。如何调整我的 p-dropdown 使其仅绑定 ID 而不是整个对象?
-
editClientObj 是哪种对象?
-
它的类型为“ClientOrder”。老实说,我宁愿没有这个。如果我在表单中设置值(即 formbuilder 组),然后绑定到表单,我应该不需要将 \"ngModel\" 设置为附加对象,对吗?
-
您可以将 editClientObj 声明为字符串并在 editClientObj 中自动实现您想要的
标签: angular primeng angular13 form-control primeng-dropdowns