angular - 如何根据angular2中复选框的选中和取消选中给出下拉值
问题描述
我有一个基于选择复选框的复选框,值必须显示在下拉列表中。但是在这里,当我“取消选择”两个复选框并再次选择这两个复选框并“取消选择”一个时,下拉值保持不变,它不会重置。谁能帮我解决这个问题?
TS:
setFaxId(index: number, faxQue: any) {
faxQue.isChecked = (faxQue.isChecked) ? false : true;
let filteredArr = this.faxqueuelists.filter(x=>x.faxQueueID == faxQue.faxQueueID);
if (faxQue.isChecked) {
this._selectedFaxQueList.push(faxQue.faxQueueID);
this.dropDownFaxQueueList.push(filteredArr[0]);
if(this.dropDownFaxQueueList.length == 1){
this.userGroup.get("DefaultFaxQueue").patchValue(faxQue.faxQueueID);
}
} else {
this._selectedFaxQueList.splice(this._selectedFaxQueList.indexOf(faxQue.faxQueueID), 1);
this.dropDownFaxQueueList.splice(this._selectedFaxQueList.indexOf(faxQue.faxQueueID),1);
this.userGroup.get("DefaultFaxQueue").patchValue("");
}
}
解决方案
用这个替换else
部分:
let index = this._selectedFaxQueList.indexOf(faxQue.faxQueueID);
this._selectedFaxQueList.splice(index, 1);
this.dropDownFaxQueueList.splice(index,1);
所选元素已从 中删除_selectedFaxQueList
,indexOf()
第二次(在您的代码中)执行时,它不会给出正确的结果。
推荐阅读
- python - 当行具有不同顺序的相同值时删除行
- ios - 从第一次未处理的方案加载 url - appdelegate vs viewcontroller
- c# - 将文本文件从资源转换为数组
- c++ - 为什么重载operator<时需要friend关键字
在下面的示例中,我的所有成员都是公开的,所以我不明白为什么我仍然需要添加
friend
关键字。而且,这个方法属于一个Point
实例,所以我也不明白为什么要通过const Point% p
. 在+
重载中,仅接收到外部实例。#include <iost
- spring-boot - Spring Boot Slack Bot - 允许删除消息
- swift - 如何修复重新加载数据
- javascript - 是否有类似“.checked for a dropdown list in javascript?
- html - 询问反应能力?
- php - 在 pimcore 中创建对象时如何添加自定义数据表
- javascript - 如何找到链的最后一个孩子