在这里,我试图从复选框值中获取价值,并且尝试使用无法拼接的独特类型的模板中的数据。
这是我的html代码
<div class="custom-control custom-checkbox" *ngFor="let data of Data; let i = index">
<input class="custom-control-input" type="checkbox" (click)="SelectedTemplates(check, $event,i)" [checked]="checked" [value]="data.id" id="{{data.appName}}">
<label class="custom-control-label" for="{{data.appName}}">{{data.templateName}} | {{data.appName}} |
{{data.docName}}</label>
</div>
这是我的Typescript函数在拼接时无法获取值
SelectedTemplates(check, event, index) {
if (event.target.checked === true) {
this.checkedItem = true;
this.NewArry.push({'partnerId': this.PartnerID, 'templateId': this.Data[index].id});
} else if (event.target.checked === false) {
for (let i = 0; i < this.NewArry.length; i++) {
this.checkedItem = false;
if (this.Data[index].id === this.NewArry[i]) {
console.log(this.NewArry[i].id);
this.NewArry.splice(i, 1);
}
}
}
this.AreaArr = this.NewArry;
}
答案 0 :(得分:0)
只要在其他情况下将此代码添加
this.NewArry.splice(index, 1);
答案 1 :(得分:0)
也许是因为指针。
尝试else if
for (let i = 0; i < this.NewArry.length; i++) {
this.checkedItem = false;
if (this.Data[index].id !== this.NewArry[i])
this.AreaArr = [this.NewArry[i], ...this.AreaArr]
}
或
this.AreaArr = JSON.parse(JSON.stringify(this.NewArry))