首页 > 解决方案 > React Native Picker 在更改时关闭模式

问题描述

每次我在我的选择器中选择一个包含在我的模态中的值时,我的模态都会立即关闭。我的选择器列表已正确加载。我认为这与我的 onValueChange 有关。似乎有什么东西在那里触发了重新渲染。

console.log(friend) 向我展示了选择的值。任何想法如何调试它?

  const [friend, setFriend] = useState("");
  const [modalVisible, setModalVisible] = useState(false);
  const [selectedId, setSelectedId] = useState(null);

  const allFriendlist = useSelector(
    (state) => state.reducer.availableFriendlist
  );
  const Item = () => (
    <View style={styles.formContainer}>
      <Modal animationType="slide" transparent={true} visible={modalVisible}>
        <View>
          <View>
          </View>
        </View>
        <Picker
          selectedValue={friend}
          onValueChange={(desc) => setFriend(desc)}
        >
          <Picker.Item label="pick a friend" value="" color="grey" />
          {allFriendlist.map((item, index) => {
            return (
              <Picker.Item
                label={item.id}
                value={item.id}
                key={index}
                color="#E9446A"
              />
            );
          })}
        </Picker>
      </Modal>

      <TouchableOpacity
        onPress={() => {
          setModalVisible(true);
          getDetails(props);
        }}
      >
        <View></View>
      </TouchableOpacity>
    </View>
  );

  return (
    <View>
      <TouchableOpacity>
        <Item
          item={props}
          onPress={() => {
            getDetails(props);
            setSelectedId(props.ID);
            setModalVisible(true);
          }}
        />
      </TouchableOpacity>
    </View>
  );
}

标签: reactjsnativepicker

解决方案


推荐阅读