首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何将两个单选按钮绑定到数据模型?

如何将两个单选按钮绑定到数据模型?
EN

Stack Overflow用户
提问于 2017-11-14 00:01:32
回答 2查看 30关注 0票数 0

我有一张帐户更新表。在该表单中,我可以设置帐户是启用还是禁用。当加载更新表单时,我希望根据从该特定帐户的数据库中检索到的数据库值(enabled = true或false)来检查单选按钮组。我试着通过下面的代码来实现它:

代码语言:javascript
代码运行次数:0
运行
复制
<label>Status</label>
<div class = "control-group">
<div class="controls radio-group" id="status" name = "status">
<label class="radio-inline">
  <input type="radio" [checked] = "account.enabled === true" name="optradio1" formControlName="status" [value] = "true">Actief
</label>
<label class="radio-inline">
  <input type="radio" [checked] = "account.enabled === false" name="optradio1" formControlName="status" [value] = "false">Inactief
</label>
</div>
</div>

但它不会自动检查与上次保存的单选按钮值对应的单选按钮。

有人知道我是怎么做到这一点的吗?

EN

回答 2

Stack Overflow用户

发布于 2017-11-14 00:07:13

您需要的是一个使用循环将侦听器附加到多个单选按钮的event listener查看this堆栈溢出问题。

侦听器将侦听按钮的值更改,并在更改时运行函数。

在该函数中,将单选按钮的新值设置为您想要的值。

票数 0
EN

Stack Overflow用户

发布于 2017-11-14 00:27:19

不要使用event listener,它会打破规则,优雅而又粗鲁。

此外,当你spy(监听)每个单独的事件时,性能很差,速度很慢。

幸运的是,angular支持本机事件触发器来完成处理ngModel的单选按钮

html

代码语言:javascript
代码运行次数:0
运行
复制
<label class="radio-inline">
  <input type="radio" [checked] = "account.enabled" name="optradio1" formControlName="status" [value] = "true" (change)="account.enabled=!account.enabled" />Actief
</label>
<label class="radio-inline">
  <input type="radio" [checked] = "!account.enabled" name="optradio1" formControlName="status" [value] = "false" (change)="account.enabled=!account.enabled" />Inactief
</label>

除了使用(change),还有更简单的方法来处理它,自己制作一个组件或构建一个Directive(如果你想使用CDK,真的很难)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47268526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档