У меня проблема с загрузкой страницы моего аккаунта с помощью радиоформы. Значение выбирает мужской или женский на том, что я выбрал его. Допустим, я выбрал мужчину.
Когда открывается экран учетной записи, выбирается кнопка мужчины, но когда я затем нажимаю кнопку сохранения, пол в базе данных становится пустым. Но когда я выбираю одну из радиокнопок, она сохраняет ее.
Почему мне нужно прикоснуться к радиокнопке, чтобы сохранить ее в базе данных, в то время как я уже загружаю пол с помощью троичного оператора, напримерэто:
{this.state.gender == "Male" || this.state.gender == "Female" ? (
this.state.gender == "Male" ? (
<RadioForm
radio_props={radio_props}
initial={0}
onPress={value => {
this.setState({ value });
}}
/>
) : this.state.gender == "Female" ? (
<RadioForm
radio_props={radio_props}
initial={1}
onPress={value => {
this.setState({ value });
}}
/>
) : (
<Text></Text>
)
) : this.state.gender == "" ? (
<RadioForm
radio_props={radio_props}
initial={-1}
onPress={value => {
this.setState({ value });
}}
/>
) : (
<Text></Text>
)}
Мне пришлось добавить его в дополнительные операторы, потому что он всегда будет идти с параметром else
, в то время как сохраненным параметром был Male. Так что мне повезло, это сработало. Но, как я уже сказал выше, проблема в том. Когда я выбираю Male и я возвращаюсь на страницу, он также загружает опцию Male, НО, когда я нажимаю кнопку «Сохранить», она сохраняет ее как пустую в базе данных. Если я перейду туда и обратно по двум вариантам, это сохранит, это работает. Не тогда, когда я оставляю его выбранным в моем предыдущем выборе, и нажимаю «Сохранить».
Надеюсь, кто-то может объяснить мне, почему это с решением.
Благодарю за ваше время!