Как отключить сенсорную непрозрачность флажка реагировать на нативный элемент? - PullRequest
0 голосов
/ 03 июля 2019

Вообще-то, я использую язык дизайна Reaction-native-element. Когда я использовал для реализации флажок, он ведет себя как осязаемая прозрачность, которую я не хочу.

<CheckBox
  containerStyle={{ backgroundColor: "transparent", borderWidth: 0 }}
  center
  size={14}
  title="vegetarian"
  textStyle={{
    fontSize: theme.FONT_SIZE_X_SMALL,
    fontWeight: theme.FONT_WEIGHT_LIGHT
  }}
  checkedColor="red"
  checked={this.state.checked}
  onPress={() => this.setState({ checked: !this.state.checked })}
/>;

Ответы [ 2 ]

1 голос
/ 03 июля 2019

Вы можете передать Component реквизит (по умолчанию TouchableOpacity), например, TouchableWithoutFeedback в качестве значения.

<CheckBox
  Component={TouchableWithoutFeedback}
  containerStyle={{ backgroundColor: "transparent", borderWidth: 0 }}
  center
  size={14}
  title="vegetarian"
  textStyle={{
    fontSize: theme.FONT_SIZE_X_SMALL,
    fontWeight: theme.FONT_WEIGHT_LIGHT
  }}
  checkedColor="red"
  checked={this.state.checked}
  onPress={() => this.setState({ checked: !this.state.checked })}
/>;
0 голосов
/ 03 июля 2019

мы можем сделать это другим способом activeOpacity={1}, как показано ниже.

<CheckBox
  activeOpacity={1}
  containerStyle={{ backgroundColor: "transparent", borderWidth: 0 }}
  center
  size={14}
  title="vegetarian"
  textStyle={{
    fontSize: theme.FONT_SIZE_X_SMALL,
    fontWeight: theme.FONT_WEIGHT_LIGHT
  }}
  checkedColor="red"
  checked={this.state.checked}
  onPress={() => this.setState({ checked: !this.state.checked })}
/>
...