angular - 将 mat-radio-group 绑定到可为空的布尔值的正确方法?
问题描述
我有一个简单的表单来显示来自 REST 服务器的数据。其中一个字段是布尔值,但可以为空。我的 UI 有一个带有两个 mat-radio-button 元素的 mat-radio-group,一个值为“true”,一个值为“false”。我希望如果它为空,则两者都不会打开,并且单击一个会将值设置为真或假。但是,它根本没有做任何事情。
我尝试使用 ng-value 代替 value,但这没有任何效果。
<mat-radio-group [(ngModel)]="canBeTrueFalseOrNull">
<mat-radio-button value="true">yes</mat-radio-button>
<mat-radio-button value="false">no</mat-radio-button>
</mat-radio-group>
我认为可以将服务器中的数据转换为字符串,然后在更新时再次将其更改回来,但这似乎过于复杂。有没有更简单的方法来做到这一点?
解决方案
要为每个单选按钮分配一个布尔值,您应该使用括号语法绑定该值:
[value]="true"
没有括号,值就是字符串"true"
。下面的代码片段应该可以工作,如这个 stackblitz所示:
<mat-radio-group [(ngModel)]="canBeTrueFalseOrNull">
<mat-radio-button [value]="true">yes</mat-radio-button>
<mat-radio-button [value]="false">no</mat-radio-button>
</mat-radio-group>
推荐阅读
- amazon-web-services - CloudWatch 成本 - 数据处理
- javascript - 如何在反应中将段落中存在的双“OO”字变成绿色方块?例如 clooney - cl[绿色方块]ey
- innodb - 一个 galera 节点出现故障并开始将错误 innodb 报告为未知或不受支持的引擎
- tensorflow - ValueError:找不到内置操作码“RESIZE_BILINEAR”版本“3”的操作注册失败
- javascript - 当我尝试在我的 react.js 组件中迭代对象数组时,为什么会出现错误?
- python - Python,从时间序列中提取特征(TSFRESH 包或我可以使用什么?)
- android - 如何在 Android 中同时为 ImageFlipper 实现 OnClick 和 Sliding 事件
- php - 如何在 lumen 7.0 中配置存储
- django - 为 django 应用程序恢复 postgresql 数据库时出现问题
- python - 将列表的每个元素转换为 sha256