You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从@react-native-community/datetimepicker获取日期存入userInfo的dateOfBirth字段

问题原因

你选中日期后仅更新了单独声明的date状态,没有把选中的日期值同步更新到userInfo对象的dateOfBirth字段,因此该字段始终为空。

解决方案

修改DateTimePicker的onChange回调逻辑,在更新date状态的同时,把选中的日期存入userInfo即可,以下是两种可行修改方式:

方式1:修改现有的onChange函数

在原有逻辑基础上新增一行调用handleOnChangeText的代码,按需传入格式化后的日期或者原始Date对象/时间戳:

const onChange = (event, selectedValue) => {
    setShow(Platform.OS === 'ios');
    if (mode == 'date') {
      const currentDate = selectedValue || new Date();
      setDate(currentDate);
      // 新增代码:同步更新userInfo的dateOfBirth字段
      handleOnChangeText(formatDate(currentDate), 'dateOfBirth');
    } 
};

方式2:直接使用你注释的行,修正参数获取逻辑

DateTimePicker的onChange回调第一个参数是事件对象,第二个才是选中的日期值,你之前注释的写法参数拿错了,修正后可以直接用:

<DateTimePicker
  testID='dateTimePicker'
  value={date}
  mode={mode}
  is24Hour={true}
  display='default'
  // 修正参数,第二个值才是选中的日期
  onChange={(event, val)=>handleOnChangeText(formatDate(val),'dateOfBirth')}
/>

修改完成后选中日期时,dateOfBirth字段就会正常更新了。


内容的提问来源于stack exchange,提问作者Rahul Thakur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 05:24:01