【发布时间】:2021-11-19 09:23:20
【问题描述】:
我在一个表格中使用primeng v6.x 多选,其中数据在循环中动态呈现。
我的选项数组如下所示:
let data = [
{ key: "ALL", desc: "All", disabled: false },
{ key: "PQR", desc: "Pqr", disabled: false },
{ key: "XYZ", desc: "Xyz", disabled: false }
];
我在[options]="data" 中传递上述数组。
我有一个添加按钮,当点击一个新的行将被添加到表格中。
预期行为:
选择"ALL"选项时,我将禁用属性更改为true,其中它应该仅在该特定行的下拉列表中禁用剩余选项。
问题: 它禁用所有表行中的所有剩余选项,包括原始变量。请给我建议解决方案。
HTML:
<p-multiSelect [options]="data" (onChange)="changeEvent($event)" optionLabel="desc" dataKey="key" [formControl]="dataListControl"></p-multiSelect>
是的,我在选项中传递了一个公共变量。在添加新行并将数据绑定到选项时尝试了不同的方法,例如创建新控件(不确定它是否正确),它也会更新原始变量值。请建议如何使特定行的可选值唯一。
【问题讨论】:
-
你能分享你的html代码吗,我想你在ngmodel绑定中使用了一个公共变量
-
更新了 html 代码,我正在使用响应式表单
-
你可以使用 formArray 或者check this answer
-
我已经在使用 formArray,其中
控件将成为 formArray 的一部分。那么如何在 formArray 中的每个 控件中传递相同的选项,这些选项在处理禁用选项时应该是唯一的?
标签: angular primeng primeng-dropdowns