【问题标题】:PrimeNG radio button selecting multiple itemsPrimeNG 单选按钮选择多个项目
【发布时间】:2020-11-14 05:36:28
【问题描述】:

我正在使用*ngFor 动态创建多个单选按钮,问题是它允许我从 UI 中选择多个项目,我的代码如下:

<div class="p-col-12">
    <p>Tipo de pregunta</p>
        <div *ngFor="let tipo_pregunta of tipos_pregunta">
            <p-radioButton formControlName="tipo_de_pregunta" inputIt="tipo_pregunta.value" name="tipo_pregunta" [value]="tipo_pregunta" [label]="tipo_pregunta.label" class="p-mb-3"></p-radioButton>
        </div>
</div>

如果我静态创建按钮,例如:

<p-radioButton name="groupname" value="ps3" formControlName="console"></p-radioButton>
<p-radioButton name="groupname" value="ps4" formControlName="console"></p-radioButton>
<p-radioButton name="groupname" value="ps5" formControlName="console"></p-radioButton>

我也有同样的问题,有解决办法吗?

注意:当我提交表单时,它只显示我点击的最后一个值,这意味着错误只是视觉上的,但它仍然令人困惑,我想修复它。

【问题讨论】:

  • 你能创建一个 StackBlitz 或者至少分享你的 TS 代码吗?
  • 尝试删除 name 属性,您已经在单选字段中有 formControlName。
  • @Antikhippe 我创建了一个 stackblitz,令人惊讶的是,它在那里工作:/ stackblitz.com/edit/prime-ng-starter-example-xtngxj?file=src/… StackBlitz 正在使用 PrimeNG 7,而我在我的项目中使用 PrimeNG 10,可能是一个错误?
  • @FlowMafia 我可以看到它已经在 stackblitz 上运行良好。只有一个被选中。
  • @Utkarsh 这就是我的意思,不知道是 PrimeNG 10 错误还是其他类型的问题,我尝试删除我所有的样式,看看是不是某种样式在做奇怪的事情,但没有,不是这样的

标签: angular radio-button primeng


【解决方案1】:

确实,它适用于 PrimeNG 7 但不适用于 PrimeNG 10,在他们的 github 上打开了一个问题:https://github.com/primefaces/primeng/issues/9440

这是等待修复时的解决方法:

this.questionForm.valueChanges.subscribe(e => {
  this.questionForm.setValue(e, { emitEvent: false });
});

demo

编辑:它似乎将在 PrimeNG 10.0.4 中修复

【讨论】:

  • 我随便有 10.0.3 版本,不管怎样,变通方法成功了,谢谢 :)
猜你喜欢
  • 1970-01-01
  • 2018-11-30
  • 2016-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-12
  • 1970-01-01
相关资源
最近更新 更多