angular7 - Ionic 4 Reactive Forms 清除离子无线电组选择
问题描述
我正在尝试清除ion-radio-group
Ionic 4 中的选择。
我的html:
<ion-radio-group formContolName="oilPanStatus" (ionSelect)="OilPanStatusChanged($event)">
<ion-list-header>
<ion-label>Is the oil-pan status good?</ion-label>
</ion-list-header>
<ion-item lines="none">
<ion-label>Yes</ion-label>
<ion-radio slot="start" value="true"></ion-radio>
</ion-item>
<ion-item lines="none">
<ion-label>No</ion-label>
<ion-radio slot="start" value="false"></ion-radio>
</ion-item>
</ion-radio-group>
这是我在 .ts 中清除的尝试:
this.Form.reset();
this.Form.controls.oilPanStatus.reset();
我看到它Form
已正确重置,所有值和错误都已清除。但在 UI 中,我看到旧的选择仍然显示。
如何清除以前选择的单选按钮。
解决方案
IONIC 5 的解决方案:
i) 定义无线电组参考。
ii) 添加带有单选组的点击事件。
工作示例:
模板代码
<ion-radio-group formControlName="future_studies" #refRadio
(click)="resetRadioGroup(refRadio, $event.target.value, form.controls.future_studies)">
<ion-list-header>
<ion-label>My studies</ion-label>
</ion-list-header>
<div class="radio-group">
<ion-item>
<ion-label>Yes</ion-label>
<ion-radio slot="start" value="yes"></ion-radio>
</ion-item>
<ion-item>
<ion-label>No</ion-label>
<ion-radio slot="start" value="no"></ion-radio>
</ion-item>
</div>
</ion-radio-group>
点击事件处理函数:
resetRadioGroup(ref, eventVal, control) {
if (eventVal === ref.value) {
setTimeout(() => {
ref.value = null;
control.reset();
}, 100);
}
}
它也会重置单选按钮以及模型/表单控件。
竖起大拇指!
推荐阅读
- python-3.x - matplotlib 图与经过时间
- python - 为什么 Scipy 具有不同的功能 'signal.convolve2d' 和 'signal.correlate2d'?
- apache - 配置 Apache localhost 以在安装 Laravel Valet 的情况下运行
- c++ - 解析一个十六进制值,将其转换为字符串表示形式并在 C++ 中取回其真实值
- c - sigwaitinfo 没有捕捉到来自父母的信号
- python - python多线程同时打印和输入
- python - 使用 Python 高效解析大型 XML 文件
- c - 如何在不需要用户输入的情况下刷新标准输入?
- git - Git重置后头部仍然分离 - 很难
- apollo-server - typedef 中定义的注释未出现在 Apollo Server 2.0 Playground UI 中