Проблема с флажком в Ionic 3 - PullRequest
1 голос
/ 15 марта 2019

имеют ионный шаблон с флажком. Условие состоит в том, что после проверки значения оно должно быть передано в массив user_filter (массив user_filter уже объявлен и работает хорошо). Когда я щелкнул в поле выбора, отображается значение console1, а в консоли 2 нет, значит, данные не введены в массив. Кто-нибудь знает причины! ...

HTML-файл

<ion-item>
                    <ion-label>Non A/C</ion-label>
                    <ion-checkbox (click)="choose_type('type','Non A/C',$event)"></ion-checkbox>

                </ion-item>

Файл Ts

choose_type(type: string, value: any, event: { target: { checked: boolean; }; }) {

 console.log('Inside choose type function'); //console1
    let index;
     console.log('Boolean value',event.target.checked);
    if (event.target.checked === true) {
 console.log('Inside ture value'); //console2
       console.log('Value checked true');
        this.user_filter[type].push(value);

    }
     else
      {
        index = this.user_filter[type].indexOf(value);
        this.user_filter[type].splice(index, 1);
    }
    console.log('User filter array',this.user_filter);
}

Ответы [ 2 ]

1 голос
/ 18 марта 2019

Спасибо, ребята, за ваши ответы.Наконец я исправил это, позвольте мне опубликовать отредактированный код для дальнейшего использования.

Home.Html

 <ion-item>
                        <ion-label>Non A/C</ion-label>
                        <ion-checkbox (ionChange)="choose_type('type','Non A/C',$event)"></ion-checkbox>

                    </ion-item>

Home.ts

choose_type(type: string, value: any, event: any) {
    let index;

    if (event.checked === true) {
       console.log('Pushed into array');
        this.user_filter[type].push(value);
       }
 else
      {

        index = this.user_filter[type].indexOf(value);
        this.user_filter[type].splice(index, 1);
    }
    console.log('User filter array',this.user_filter);
}

Советы: Вместо (event.target.checked) используйте (event.checked) для получениязначение.

0 голосов
/ 15 марта 2019

Вам не нужно использовать событие изменения или нажатия для ion-checkbox, вместо этого используйте событие ionChange, заданное для ионного флажка, тогда только вы получите выбранные значения.

Вы можете получить выбранное значениеот $event.value.click событие работает, но вы не получите значение, выбранное в флажке.Вы получаете undefined при использовании события щелчка, поэтому консоль не печатается.

HTML

<ion-item>
    <ion-label>Non A/C</ion-label>
    <ion-checkbox (ionChange)="choose_type('type','Non A/C',$event.value)"></ion-checkbox>
</ion-item>

TS

choose_type(type: string, value: any, selectedValue) {
console.log(selectedValue); // Will be true or false
// Add your code here
}

См. Ионную документацию ion-checkbox

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...