Как я могу определить, какой флажок был выбран в вашем штате?

Вот почему вы хотите иметь две таблицы здесь.

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'
 )
1
задан Tamara Jane 3 March 2019 в 20:04
поделиться

3 ответа

Есть действительно три условия, которые существуют.

  1. Пользователь не выбрал поле
  2. Пользователь выбирает один
  3. Пользователь выбирает женатого.

Если у вас есть проверка, а это означает, что пользователь должен установить флажок, то вы можете отказаться от первого условия. Исходя из этого, можно определить, когда пользователь выбрал ящик, что он выбрал, зная состояние только одного из ящиков. Поэтому, если у вас есть кнопка, которая проверяет валидацию, вы можете сделать что-то вроде этого.

<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
   }
  }}
/>
0
ответ дан Andrew 3 March 2019 в 20:04
поделиться

Похоже, они XOR операции. Вам нужно установить текущее состояние каждого, посмотрев на прошлое состояние нажатой кнопки.

http://www.howtocreate.co.uk/xor.html

холост:

{single: !this.state.single, married: this.state.single}

женат

{single:this.state.married, married: !this.state.married}
0
ответ дан Pablo Castro 3 March 2019 в 20:04
поделиться

Я не думаю, что для этого нужно управлять двумя состояниями. В этом случае человек может быть женат или не женат. Таким образом, вам нужно сделать что-то вроде этого

Если вы хотите, чтобы оба флажка были сняты при загрузке, тогда

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})}/>

Надежда это работает для вас. :)

0
ответ дан Subhendu Kundu 3 March 2019 в 20:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: