离子复选框“已检查”属性不起作用

USA*_*ter 5 ionic-framework angular ionic4 ion-checkbox angular8

我对 angular/ionic 很陌生,我正在尝试创建一个带有默认选中复选框的表单。

它尝试了两个

checked
Run Code Online (Sandbox Code Playgroud)

checked="true"
Run Code Online (Sandbox Code Playgroud)

但两者都不起作用。奇怪的是,属性“禁用”工作得很好。

这是我的 html:

checked
Run Code Online (Sandbox Code Playgroud)

这是它的样子: 在此处输入图片说明

我在装有最新 Safari 浏览器的 MacBook Pro 上使用 angular8 和 ionic4。有任何想法吗?

c_o*_*goo 6

ngModel复选框上有一个,因此将确定该checked值。

<ion-checkbox [(ngModel)]="soldItem.ebay" name="ebay"></ion-checkbox>
Run Code Online (Sandbox Code Playgroud)

soldItem.ebaywill的值决定checked状态。如果将其设置为 true,checkbox则将checked开始。


在一个无关的笔记上。考虑使用反应式形式

反应式形式通过对数据模型的同步访问、可观察操作符的不变性以及通过可观察流的变化跟踪提供更多的可预测性。如果您更喜欢直接访问以修改模板中的数据,模板驱动的表单不太明确,因为它们依赖于嵌入在模板中的指令以及可变数据来异步跟踪更改

一个引导到推动关键diffences betweem模板(你现在有什么)和反应形式。

一般来说:

  • 反应式表单更健壮:它们更具可扩展性、可重用性和可测试性。如果表单是应用程序的关键部分,或者您已经在使用响应式模式来构建应用程序,请使用响应式表单。
  • 模板驱动的表单对于向应用程序添加简单表单非常有用,例如电子邮件列表注册表单。它们很容易添加到应用程序中,但它们的扩展性不如响应式形式。如果您有可以单独在模板中管理的非常基本的表单要求和逻辑,请使用模板驱动的表单。