如何将复选框绑定到Angular7中的字符串值?

Posted

技术标签:

【中文标题】如何将复选框绑定到Angular7中的字符串值?【英文标题】:How to bind checkbox to string value in Angular7? 【发布时间】:2020-01-26 12:20:03 【问题描述】:

<input pInputText type="checkbox" [(ngModel)]="rowData.active"> active 是一个字符串。它的值是“真”或“假”。我想将此字符串值绑定到一个复选框。 那我该怎么做呢?

【问题讨论】:

不能在绑定值之前解析一下吗?如果后端需要它,请在发送到 API 之前再次解析它。 【参考方案1】:

您需要在 htmlElement 中添加 binary="true" 属性。

据我了解,您使用的是primeng 的复选框。所以代码应该是这样的-

<p-checkbox [(ngModel)]="rowData.active" binary="true"></p-checkbox>

有关详细信息,请在此处阅读整个文档 -

https://www.primefaces.org/primeng/#/checkbox

【讨论】:

不是primeng复选框。只需 . 你为什么要这样使用?不确定你的意图。用户p-checkbox 或普通输入类型文本。【参考方案2】:

不使用“香蕉语法”

<input type="checkbox" 
  [ngModel]="rowData.active=='true'?true:false"
  (ngModelChange)="rowData.active=$event?'true':'false'"
>

【讨论】:

您可以将以下行简化: [ngModel]="rowData.active=='true'?true:false" 为 [ngModel]="rowData.active == 'true'" @Victoria 你说得对,谢谢建议【参考方案3】:

如果使用&lt;input type="checkbox"&gt;,那么可以使用如下语法进行绑定:

<input
    type="checkbox"
   [checked]="(rowData.active === 'true') ? true : false"
   (change)="rowData.active = $event.target.checked"
/>

<p> rowData.active  rowData.active </p>

打字稿:

rowData = active: 'true';

【讨论】:

【参考方案4】:

在html中

<input type='checkbox' [(ngModel)]='rowData.active'>

在ts中

 rowData='active' : true

工作StackBligz

如果您使用primeng,请参考PrimeNg

【讨论】:

以上是关于如何将复选框绑定到Angular7中的字符串值?的主要内容,如果未能解决你的问题,请参考以下文章

ComboBoxItem 中的复选框绑定到 Class 中的布尔值。如何从每个项目中获取每个布尔值?

Angular 7 - ControlValueAccessor - 修剪绑定到表单的输入值

使用 formcontrol 将数据绑定到角度材料表中的复选框。数据以真假值列表的形式提供

如何将对象列表绑定到百里香中的复选框?

如何使用react-js以动态形式将复选框值与文本输入绑定?

WPF 将枚举列表(或类似列表)绑定到复选框列表