首页 > 解决方案 > DatePicker 在 iOS react-native 0.60.6 中的工作非常奇怪

问题描述

不知道这是什么时候发生的,因为它以前可以工作,但可能是自从我将 react-native 升级到 0.60.6 之后。到目前为止,我测试了 3 个库,并且它们都在发生这种情况。目前使用react-native-woodpicker

这是它的样子,一切都搞砸了: 在此处输入图像描述

尽管它在我站立的位置没有显示任何价值,但确实存在,您可以在向上/向下滑动时真正感受到振动,但大多数时候没有价值,您可以连续滑动 10 秒,然后所有值列表会突然出现。

它发生在我应用程序中的所有 DatePickers 中,并且仅在 iOS 中,Android 工作正常。所以 DatePickerIOS 似乎有问题。

一些代码:

 <DatePicker
    onDateChange={this.handleDatePicker}
    date={new Date(this.state.user.dateOfBirth)}
    title={i18n.t('dateOfBirth')}
    placeholder={this.handleDatePickerPlaceholder()}
    placeholderStyle={scopedStyles.datePickerText}
    iosPickerMode="date"
    androidPickerMode="spinner"
    minDate={minDate}
    maxDate={new Date()}
 />

handleDatePicker = data => {
    var {user} = this.state;
    var thisUser = user;

    var date = this.getObjectFromDate(data);
    thisUser.dateOfBirth = data;

    this.setState({
        user: thisUser,
        dateObject: date
    });
};

getObjectFromDate(date) {
    return {
        day: date.getDate(),
        month: (date.getMonth()) + 1,
        year: date.getFullYear()
    }
};

handleDatePickerPlaceholder() {
    const {dateObject} = this.state;
    if (Object.keys(dateObject).length) {
        return `${dateObject.day}/${dateObject.month}/${dateObject.year}`
    } else {
        return `DD/MM/YYYY`;
    }
}

感谢您提供的任何帮助。

标签: react-native

解决方案


如果有人遇到同样的问题,那是由于 iOS 13 的暗模式,感谢 github 上的这个人,我能够解决它。

解决它的方法是在 iOS 应用程序的 info.plist 文件中添加一个新的键/字符串值。

<key>UIUserInterfaceStyle</key>
<string>Light</string>

希望这对其他人有帮助。


推荐阅读