@react-native-community/datetimepicker 显示 popup-picker 2 次

问题描述

我在我的应用中使用 @react-native-community/datetimepicker。这应该从日期选择器收集用户定义的日期,然后将其发送到数据库。但是,当我按下按钮并打开日期选择器时,日期选择器弹出窗口会出现两次。我选择一个日期,按确定,然后窗口关闭。然后仅仅几毫秒后,一个新的日期选择器打开。有人知道为什么会这样吗?

const onChange = (event,selectedDate) => {
        var inputDate = selectedDate.toISOString()
        var outputDate = inputDate.split("T")[0]
        setSelectedDate(outputDate)
        setDate(date)
        setShow(false);
        console.log(outputDate)
    }

const showDatepicker = () => {
        setShow(true)
    }

...

<View>
   <Button title="Choose date" onPress={showDatepicker} />
      </View>
      {show ? (
         <DateTimePicker
            value={date}
            onChange={onChange}
            mode={'date'}
            display="default"
         />
      ) : (<View />)}

解决方法

试试下面可能有帮助的代码

const onChange = (event,selectedDate) => {
    const inputDate = selectedDate.toISOString();
    const outputDate = inputDate.split('T')[0];
    setSelectedDate(outputDate);
    setDate(outputDate);
  };

  React.useEffect(() => {
    setShow(false);
  },[date]);

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...