angular - 如何将 primeNg 下拉选择值设置为对象的 id 而不是整个对象
问题描述
我正在将集合数据绑定到主要的 NG 下拉列表。
<p-dropdown [options]="statusTypes" formControlName="StatusTypeCode" optionLabel="Name">
</p-dropdown>
我将 formControlName 设置为此下拉列表,效果很好。唯一的问题是表单设置了整个对象(例如:statusTypes[2])。我希望表单为所选值指定一个值,而不是整个对象(例如:statusTypes[2].StatusTypeCode)
我知道我可以在设置选项之前重新创建它们......
this.statusTypes= [];
for (let statusType of this.allStatusTypes) {
this.statusTypes.push({ label: (statusType.Name), value: statusType.StatusTypeCode });
}
但是我必须在每个下拉集合中都这样做!
HTML中是否有任何方法可以将下拉列表的值指定为等于属性(例如:optionValue="StatusTypeCode"),以便我可以让表单填充id而不是整个对象?
解决方案
我不知道他们什么时候更新了这个,但是在 PrimeNG 文档中,Dropdown 有一个属性“optionValue”可以解决这个问题。我有一个问题想从数组中选择 id 的对象,这就是我得到的
<p-dropdown id="dropdown" inputId="dropdown" optionValue="id" [autoDisplayFirst]="false" [options]="cities" formControlName="id" optionLabel="name"></p-dropdown>
现在它将选择{ id: '1' }
而不是{ id: '1', name: 'cityName' }
推荐阅读
- python - matplotlib 在保存动画时抛出 ZeroDivisionError
- mysql - MySQL:使用 Coalesce 选择仍然返回 null
- python - 熊猫无法使用 read_clipboard 正确读取 NaN 单元格
- django - 为过去的时间戳运行 Celery 任务
- java - 查询后不更新 findByID 中的 JPA 值
- c++ - 如何在 C++ 中创建多类型向量
- reactjs - Material UI:自动完成,值设置为字符串,选项设置为对象?
- templates - 博客评论不适用于新模板?
- python - 按某个值对列表或 numpy 数组进行分组
- tensorflow - TypeError:张量是不可散列的。相反,使用 tensor.ref() 作为键。出错