javascript - 重复表单组上的角度切换开关问题
问题描述
我有一个表单组,其中包含多个表单控件,包括一个拨动开关。切换开关将模型中的布尔值更改为真或假。根据该值,有一个 *ngIf 来处理是否显示表单控件。这一切目前都很好,但是我需要实际上基本上克隆整个表单组,我已经实现了。但是,切换开关仅适用于第一个表单组,其余均无效。实际上,如果我单击其他开关上的开关,它实际上只会打开和关闭第一个开关......我在这里错过了什么?
该模型具有以下值:
advancedOptions: boolean;
模板是这样的:
<div class="advancedOptions">
<div class="service-group jbh-toggle">
Advanced Options:
<label class="toggleLabel inline-block" for="inbond-freight">Hide</label>
<input class="jbh-toggle-checkbox ng-untouched ng-valid ng-dirty" #advancedOptions id="handlingUnitAdvancedOptionsToggle" type="checkbox"
(change)="handlingUnitAdvancedOptionsToggle(advancedOptions.checked)">
<label class="jbh-toggle-label" for="handlingUnitAdvancedOptionsToggle">
<span class="jbh-toggle-inner" id="span-toggleInner3"></span>
<span class="jbh-toggle-switch" id="span-toggleSwitch3"></span>
</label>
<label class="toggleLabel inline-block" for="handlingUnitAdvancedOptionsToggle">Show</label>
</div>
</div>
*ngIf 很简单:
<div *ngIf="advancedOptions"></div>
除切换开关外,所有其他控件在重复的表单组中都可以正常工作。
解决方案
您可以使用切换开关的 formcontrol 值,例如当它的值为 true 时,您可以如下所示显示/隐藏
form.controls.default_checkbox.value != 1
推荐阅读
- javascript - 如何在 React js 应用程序中为 seo 和社交共享动态添加元标记
- python-3.x - 对 Python 列表中的条目执行多个步骤
- c# - 当我添加 FriendlyUrl 程序集时,jQuery 拖放不起作用
- java - 如何在Java中阻止字符串被切断
- jinja2 - 为什么 salt['slsutil.banner'] 无论我传递什么参数都返回 None ?
- python-3.x - 具有 datetime64 dtype 的数据框插入到 postgressql 时间戳列
- java - JRE 281 无法运行 OpenJDK 编译的 jar
- windows - windows 10是怎么写的?
- google-cloud-platform - kubectl create clusterrolebinding cluster-admin-binding --clusterrole cluster-admin --user "$(gcloud config get-value account)" 抛出错误
- reactjs - 三个反应组分的相互作用