Как получить значение ion-select? Мое значение появляется только тогда, когда я нажимаю на поле

Я разрабатываю мобильное приложение с помощью ionic, и у меня возникла проблема с тегом ion-select. Значение ion-select не загружается, пока я не нажму на него.

<ion-item>
    <ion-label position = "stacked" style = "color: darkgrey">Etat intervention {{liste[0].id_etat_intervention}} - {{etat_select}}</ion-label>
    <ion-select okText = "OK" cancelText = "Annuler" [value] = "liste[0].id_etat_intervention">
        <ion-select-option *ngFor = "let etat of etats_intervention" [value] = "etat.id" >{{etat.id}} {{etat.libelle}}</ion-select-option>
    </ion-select>
</ion-item>

В моем файле ts:

await this.dbProvider.getEtatsIntervention().then((data) => {
    this.etats_intervention = data;
});

В моем файле провайдера:

getEtatsIntervention () {
        const req = 'SELECT id, libelle FROM etat_intervention ORDER BY libelle ASC ;';

        return this.database.executeSql(req, []).then (result => {
            const infos = [];
            if (result.rows.length > 0) {
                for (let i = 0; i < result.rows.length; i++) {
                    infos.push({
                        id: result.rows.item(i).id,
                        libelle: result.rows.item(i).libelle});
                }
            }
            return infos;
        }).catch(e => console.info('erreur database.getEtatsIntervention() ' + e.error));
    }

И значение 'liste[0].id_etat_intervention' восстанавливается таким же образом при загрузке формы

Вот что получилось:

Когда форма загружается

Когда я нажимаю на поле

Я пробовал все, что я застрял ... Спасибо за вашу помощь !

Вы можете добавить объект liste к своему вопросу?

Ira Watt 10.04.2019 11:57

спасибо, я бы добавил это в ваш вопрос, а не публиковал два ответа, чтобы людям было легче ответить на ваш вопрос и людям, которые хотят сослаться на него в будущем :)

Ira Watt 10.04.2019 14:02
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
1
2
278
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я нашел решение:

<ion-item>
    <ion-label position = "stacked" style = "color: darkgrey">Etat intervention</ion-label>
    <ion-select okText = "OK" cancelText = "Annuler" [selectedText] = "etat_select" (ionChange) = "onChangeEtat($event)">
        <ion-select-option *ngFor = "let etat of etats_intervention" [value] = "etat.libelle">{{etat.libelle}}</ion-select-option><!-- [value] = "etat.id"  -->
    </ion-select>
</ion-item>


onChangeEtat(value) {
    this.etat_select = value.target.value;
}

getEtat() {
    for (const i in this.etats_intervention) {
        if (this.etats_intervention[i].id === this.liste[0].id_etat_intervention) {
            this.etat_select = this.etats_intervention[i].libelle;
        }
    }
}

Другие вопросы по теме