Вот почему вы хотите иметь две таблицы здесь.
parents:
id name
1 Roberto
2 Maria
3 Mary
children:
id parentid name
1 1 Michael
2 1 Dia
3 2 John
4 2 Alex
5 3 Alexandre
6 3 Diana
И теперь вы можете запросить это гораздо более эффективно с помощью соединения или существует:
SELECT *
FROM Parents
WHERE EXISTS(
SELECT *
FROM Children
WHERE parentid=Parents.id
AND Children.name='Alex'
)
Есть действительно три условия, которые существуют.
Если у вас есть проверка, а это означает, что пользователь должен установить флажок, то вы можете отказаться от первого условия. Исходя из этого, можно определить, когда пользователь выбрал ящик, что он выбрал, зная состояние только одного из ящиков. Поэтому, если у вас есть кнопка, которая проверяет валидацию, вы можете сделать что-то вроде этого.
<Button
title={'check married status'}
onPress={() => {
if (!this.state.single && !this.state.married) {
alert('Please check a box)
} else {
// we only need to check one of them
let marriedStatus = this.state.married ? 'married' : 'single';
alert(`You are ${marriedStatus}`)
// then you can do what you want with the marriedStatus here
}
}}
/>
Похоже, они XOR операции. Вам нужно установить текущее состояние каждого, посмотрев на прошлое состояние нажатой кнопки.
http://www.howtocreate.co.uk/xor.html
холост:
{single: !this.state.single, married: this.state.single}
женат
{single:this.state.married, married: !this.state.married}
Я не думаю, что для этого нужно управлять двумя состояниями. В этом случае человек может быть женат или не женат. Таким образом, вам нужно сделать что-то вроде этого
Если вы хотите, чтобы оба флажка были сняты при загрузке, тогда
state: {
single: void 0,
}
<CheckBox title="Single"
checked={this.state.single}
onPress={() => this.setState({ single: !this.state.single})}/>
<CheckBox title="Married"
checked={this.state.single !== undefined && !this.state.single}
onPress={() => this.setState({ married: !this.state.single})}/>
или если установлен один, то
state: {
single: true,
}
<CheckBox title="Single"
checked={this.state.single}
onPress={() => this.setState({ single: !this.state.single})}/>
<CheckBox title="Married"
checked={!this.state.single}
onPress={() => this.setState({ married: !this.state.single})}/>
Надежда это работает для вас. :)