Hai我有一组在响应为true的情况下推送的数据,现在在提交按钮之前,我正在更改选项,以便我将响应为false,因此在这种情况下,我需要删除推送到数组。
TS:
onChangeMedication(value, rowData) {
let exe = this.exeTypeNumber(value);
this.medicationTableValue.map(details => {
let medicationObj = { ...medicationFields };
if (details.code === rowData.code) {
if (value != '17587') {
let params = { PatientId: this.userId, ExeType: exe, TableId: 'medication', Param1: rowData.name, Param2: rowData.date ? new DatePipe('en').transform(rowData.date, 'yyyy-MM-dd HH:mm:ss') : null, Param3: null }
this.emrservice.ccdRecord(params)
.subscribe((res) => {
this.validStatus(res.Body.Data, rowData);
if (res.Body.Data) {
this.exportCCDSuperObj.medication.push(medicationObj);
}
});
}
};
});
}
这使api响应为true或false
validStatus(data, rowData) {
this.isValidItems = data
if (!this.isValidItems) {
rowData.showNoStatus = true;
rowData.showYesStatus = false;
this.isDisabled = false;
} if (this.isValidItems) {
rowData.showYesStatus = true;
rowData.showNoStatus = false;
this.isDisabled = true;
}
}
HTML:
<td>
<select (change)="onChangeMedication($event.target.value,rowData)" [value]="defaultValue">
<option value=''>Select Record</option>
<option *ngFor="let sType of validType" [value]='sType.Id'>{{sType.Description}}</option>
</select>
</td>
<i class="fa fa-times" aria-hidden="true" *ngIf="rowData.showNoStatus"></i>
<i class="fas fa-check" *ngIf="rowData.showYesStatus"></i>
答案 0 :(得分:0)
您可以通过生成不包含特定项(例如
)的新数组来从阵列中删除该项this.yourArray = this.yourArray.filter(element => element.property == “Somthing”);
这将生成一个新数组,并将其值放入新数组中,而没有任何元素与您的方程式匹配。
答案 1 :(得分:0)
我尝试过这种方式,并且能够按照我的要求进行操作。 因此,现在我可以删除单击响应更改后添加到数组的项目
TS:
onChangeMedication(value, rowData) {
let exe = this.exeTypeNumber(value);
this.medicationTableValue.map(details => {
let medicationObj = { ...medicationFields };
if (details.code === rowData.code) {
if (value != '17587') {
let params = { PatientId: this.userId, ExeType: exe, TableId: 'medication', Param1: rowData.name, Param2: rowData.date ? new DatePipe('en').transform(rowData.date, 'yyyy-MM-dd HH:mm:ss') : null, Param3: null }
this.emrservice.ccdRecord(params)
.subscribe((res) => {
this.validStatus(res.Body.Data, rowData);
if (res.Body.Data) {
this.exportCCDSuperObj.medication.push(medicationObj);
} else {
var index = this.exportCCDSuperObj.medication.indexOf(rowData);
this.exportCCDSuperObj.medication.splice(index, 1);
}
});
}
};
});
}