简体   繁体   English

来自“react-native-modal-datetime-picker”的 React Native DateTimePickerModal 不允许我在一个组件中添加 2 个 DateTime 选择器

[英]React Native DateTimePickerModal from "react-native-modal-datetime-picker" Not letting me add 2 DateTime picker in one component

I need to add 2 DateTimePicker to my component in my React-native app.我需要在我的 React-native 应用程序中将 2 DateTimePicker 添加到我的组件中。 But only one work even if i add 2. I can open each datetimepicker but only one value change that is the top one.但即使我添加 2,也只有一项工作。我可以打开每个 datetimepicker,但只有一个值更改是顶部的值。 So can select bottom one and will only change the top value. select 底部也可以,并且只会更改顶部值。 See the code below请参阅下面的代码

import React, { useState } from 'react';
import { Button, View, Text } from 'react-native';
import DateTimePickerModal from 'react-native-modal-datetime-picker';
import moment from 'moment';

const Example = () => {
  const [selectedDate, setSelectedDate] = useState();
  const [selectedDate1, setSelectedDate1] = useState();
  const [isDatePickerVisible, setDatePickerVisibility] = useState(false);

  const showDatePicker = () => {
    setDatePickerVisibility(true);
  };

  const hideDatePicker = () => {
    setDatePickerVisibility(false);
  };

  const handleConfirm = (date) => {
    setSelectedDate(date);
    hideDatePicker();
  };

   const handleConfirm1 = (date) => {
    setSelectedDate1(date);
    hideDatePicker();
  };
  return (
    <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
      <Text>{`Date:  ${selectedDate? moment(selectedDate).format("MM/DD/YYYY"):"Please select date"}`}</Text>
      <Button title="Show Date Picker" onPress={showDatePicker} />
      <DateTimePickerModal
        isVisible={isDatePickerVisible}
        mode="date"
        onConfirm={handleConfirm}
        onCancel={hideDatePicker}
      />
       <Text>{`Date:  ${selectedDate1? moment(selectedDate1).format("MM/DD/YYYY"):"Please select date"}`}</Text>
      <Button title="Show Date Picker" onPress={showDatePicker} />
      
      <DateTimePickerModal
        isVisible={isDatePickerVisible}
        mode="date"
        onConfirm={handleConfirm1}
        onCancel={hideDatePicker}
      />
    </View>
  );
};

export default Example;

So I am wondering if it is even possible to add 2 DateTimePicker into one component?所以我想知道是否可以将 2 DateTimePicker 添加到一个组件中?

It looks like there is only 1 state handling the opening of the pickers which is causing the first to open each time看起来只有 1 个 state 处理拾取器的打开,这导致每次打开第一个

const [isDatePickerVisibleOne, setDatePickerVisibilityOne] = useState(false)
const [isDatePickerVisibleTwo, setDatePickerVisibilityTwo] = useState(false)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM