#forms #ionic-framework #angular-reactive-forms
Вопрос:
Я использую реактивную форму, как показано ниже.
HTML-файл
<ion-select formControlName="gender" (ionChange)="onGenderChange($event)">
<ion-select-option value="1">Male</ion-select-option>
<ion-select-option value="2">Female</ion-select-option>
</ion-select>
Файл TS
Я хочу получить выбранный текст (мужской или женский) вместо его значения. Ниже показано событие изменения в раскрывающемся списке Выбрать.
onGenderChange(event) {
console.log("onGenderChange : ", event.detail.value); //its return only value
}
Пожалуйста, помогите мне решить эту проблему.. Заранее спасибо.
Комментарии:
1. Самый простой способ-установить значение, равное тексту. Нет никаких обязательств использовать число в качестве значения <ион-выбор-опция значение=»Мужчина»>Мужчина<ион-выбор-опция значение=»Мужчина»></ион-выбор-опция>
2. значение будет получено из бэкенда в виде номера @uKioops
3. возможно, вам понадобится поделиться примером ваших данных, чтобы помочь понять вашу проблему. Я отправил ответ. Я знаю, что вы хотите извлечь текст, но, возможно, с другим форматом ваших данных вы сможете получить то, что вам нужно.
Ответ №1:
Это будет зависеть от того, какой тип данных вы получите от своего бэкенда, но вы можете выбрать, что использовать в качестве значения и текста с привязкой данных.
Например, в моем файле подкачки .ts я создал эти данные с помощью вашей функции :
myData = ["Testing", "Testing 2", "Testing 3"]
onGenderChange(event) {
console.log("onGenderChange : ", event.detail.value); //its return only value
}
И с сохранением данных я мог бы использовать этот массив так, как я хочу, на странице .html
<ion-item>
<ion-label>Gender</ion-label>
<ion-select formControlName="gender" (ionChange)="onGenderChange($event)">
<ion-select-option value="{{myData[0]}}">{{myData[0]}}</ion-select-option>
<ion-select-option value="{{myData[1]}}">{{myData[1]}}</ion-select-option>
<ion-select-option value="{{myData[2]}}">{{myData[2]}}</ion-select-option>
</ion-select>
</ion-item>
и в консоли вы получите «onGenderChange : Тестирование 2».
Комментарии:
1. Мои внутренние данные выглядят следующим образом: let list = [{id: 0, значение: «Мужчина»}, {id: 1, значение: «Женщина»}]; и мои параметры выбора будут в цикле ngFor. <значение параметра «ион-выбор»=»list.id»>{{list.value}}<значение параметра ion-select=»list.id»></ion-выбор-опция>
2. Но вам нужно удостоверение личности ? Вы сказали, что вам нужна ценность, зачем вы используете list.id как значение параметра «выбор иона»? <значение параметра выбора иона=»список.значение»>{{список.значение}}<значение параметра выбора иона=»список.значение»></параметр выбора иона> должен работать
3. Мне нужно установить его как идентификатор, а не как значение, потому что мне нужно передать выбранный идентификатор пола в базу данных