代码之家  ›  专栏  ›  技术社区  ›  Bhrungarajni

如何在response为false时删除rowdata,在angular2中将true作为response添加

  •  0
  • Bhrungarajni  · 技术社区  · 7 年前

    hai我有一组数据,在response上按为true,现在在submit按钮之前,我正在更改选项,以便获得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>
    
    2 回复  |  直到 7 年前
        1
  •  0
  •   Ahmed ElShemy    7 年前

    您可以从数组中删除该项,并生成一个新数组,该数组不包括您的特定项,如

    this.yourArray = this.yourArray.filter(element => element.property == “Somthing”);
    

    这将生成一个新数组,并将其值放入新数组中,而不包含与公式匹配的任何元素。

        2
  •  0
  •   Bhrungarajni    7 年前

    我试着这样做,我能按我的要求得到。 因此,现在我可以在单击响应更改时删除添加到数组中的项

    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);
                  }
                });
            }
          };
        });
      }
    
    推荐文章