Повторное использование экрана для редактирования - PullRequest
0 голосов
/ 28 сентября 2018

У меня есть экран с полем даты и некоторые с полями, мне нужно заполнить их, чтобы восстановить экран для редактирования, экран служит для регистрации и редактирования, однако я не могу передать данные в поля выпадающего списка.Данные, возвращаемые банком, являются идентификатором опции.

Код страницы:

    <ion-grid  *ngFor="let editar of lista_despesa_ed">

        <ion-row>
          <ion-col col-6 class="sem-espaco">
            <ion-item>
              <ion-label floating>Data</ion-label>
              <ion-datetime class="input-color" displayFormat="DD MM YYYY" pickerFormat="DD MM YYYY" [(ngModel)]="data"></ion-datetime>
            </ion-item>
            <h6 *ngIf="errorData" class="error"> {{messageData}}</h6>
          </ion-col>
        </ion-row>

        <ion-row>
          <ion-col col-12 class="sem-espaco">
            <ion-list>
              <ion-item>
                <ion-label floating>Centro de Custo</ion-label>
                <ion-select (ionChange)="resetCusto()" [(ngModel)]="custo" class="input-color">
                  <ion-option *ngFor="let custo of lista_centroCusto" [selected]="editar.IDCentroCusto" value="{{custo.Chave}}">{{custo.Valor}}
                  </ion-option> //The error occurs here
                </ion-select>
              </ion-item>
              <h6 *ngIf="errorCusto" class="error"> {{messageCusto}}</h6>
            </ion-list>
          </ion-col>
        </ion-row>

Файл машинописного текста:

  ionViewDidEnter() {
    if (this.global.acao === "I") {
      this.carregaCB();
    } else if (this.global.acao === "E") {
      this.carregaCB();
      this.AprovacaoProvider.listaDetalhe().then((data) => {
        this.lista_despesa_ed = data;
      })
    }
  }

1 Ответ

0 голосов
/ 28 сентября 2018

Поскольку вы используете [(ngModel)] в этом поле со списком, а custo является свойством привязанного к нему компонента, вам просто нужно присвоить значение уже выбранной опции свойству custo в вашемфайл компонента:

this.custo = editar.IDCentroCusto; // Not sure if this is the right property

И затем в представлении:

<ion-select [(ngModel)]="custo" class="input-color">
    <ion-option *ngFor="let custo of lista_centroCusto" [value]="custo.Chave">{{custo.Valor}}</ion-option>
</ion-select>

Обратите внимание, что я бы также предложил использовать привязку свойства для value (вместо интерполяции строк), напримерэто: [value]="custo.Chave".

...