Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Como mudar os dados de um ion-select dinamicamente

Estou carregando dois selects dentro da minha tela

o select 1 tem x opções e os dados do select 2 vão ser carregados dinamicamente de acordo com o item que eu selecionar no select 1

por exemplo

abro minha tela e vejo 2 selects, o segundo esta desabilitado.

Quando seleciono o primeiro item do select 1 o segundo select deve ficar habilitado com as opções 1, 2, 3

quando eu seleciono o segundo item do select 1, o select 2 deve habilitar com as opções 4,5,6

como posso fazer isso? sendo que esses valores são dinâmicos?

hoje estou fazendo algo assim:

<ul class="collection">
    <li class='collection-item'>
    <ion-item>
      <ion-label>Formas de pagamento</ion-label>
      <ion-select [(ngModel)]="order.paymentMethod" cancelText="Cancelar"  (ionChange)="selectPaymentMethod($event)">
        <ion-option  *ngFor="let payment of paymentMethods" value="{{payment.id}}" >{{payment.name}}</ion-option>
      </ion-select>
    </ion-item>
    </li>
    <li class='collection-item'>
      <ion-item >
        <ion-label>Condições de pagamento</ion-label>
        <ion-select  id='condition' [(ngModel)]="order.paymentCondition" cancelText="Cancelar" disabled={{isEnabled}}>
          <ion-option *ngFor="let condition of paymentConditions" value="{{condition}}">{{condition.name}}</ion-option>
        </ion-select>
      </ion-item>
    </li>
  </ul>

e no .ts

selectPaymentMethod(event){

    this.paymentConditions = this.paymentMethods.filter((item) => { return item.id == event })[0].payment_conditions;

  }

o valor de this.paymentConditions esta com as informações que preciso, mas o select n mudou :(

3 respostas

Boa noite, Mauricio! Como vai?

Em nenhum momento vc mudou o valor de isEnabled no seu arquivo TS e vc precisa fazer isso no momento que tiver selecionado alguém no primeiro ion-select. Veja se ao alterar esse valor o seu problema é resolvido!

Se o problema persistir é só avisar aqui que eu continuarei a te ajudar!

Grande abraço, meu aluno!

solução!

eu omiti essa informação no código enviado pq não é a preocupação principal, a parte de ativar e inativar esta funcionando corretamente

o código aparentemente estava correto, o que eu fiz foi salvar tudo novamente e reiniciar o servidor do ionic e tudo funcionou como deveria, obrigado <3

Pois é, eu percebi que aparentemente tudo está correto, exceto essa parte que eu mencionei não ter visto em lugar nenhum. Daí como vc disse que o segundo ion-select não mudava pensei que seria isso.

Mas ainda bem que era só a Ionic CLI se enrolando! Vez ou outra ela dá uns problema assim mesmo! Quando ocorrer situações assim onde o seu código parece estar correto, sempre experimente reiniar a Ionic CLI.

Grande abraço, meu aluno!