0

我正在尝试使用来自 https://github.com/wix/react-native-calendars的 ExpandableCalendar

我的应用程序设置为 RTLReactNative.I18nManager.allowRTL(true); ReactNative.I18nManager.forceRTL(true);

当日历展开并且我试图更改月份时,它不会显示下个月或上个月的新日期,它只是显示与标题月份不同的月份名称。

但是将 RTL 设置为 false 可以解决问题。有没有将 RTL 设置为 false 的解决方案?

通过向右/向左滑动或单击箭头更改月份来更改月份后的图像:

在此处输入图像描述

4

1 回答 1

1

这是react-native-calendars. 它无法正确呈现子组件(日期),或者只是在ReactNative.I18nManager.allowRTL(true);.

目前,临时解决方案是将 flex-direction 更改为row-reverse并以相反方向渲染箭头:

<Calendar theme={'stylesheet.calendar.main': {
                        week: {
                          marginTop: 7,
                          marginBottom: 7,
                          flexDirection: isRTL ? 'row-reverse' : 'row',
                          justifyContent: 'space-around'
                        }
                       },
                  'stylesheet.calendar.header': {
                        header: {
                           flexDirection: isRTL ? 'row-reverse' : 'row',
                          justifyContent: 'space-between',
                          paddingLeft: 10,
                          paddingRight: 10,
                          alignItems: 'center',
                          height: 45
                        },
                        week: {
                          marginTop: 7,
                           flexDirection: isRTL ? 'row-reverse' : 'row',
                          justifyContent: 'space-around'
                        }}
                      }}
            renderArrow={direction => <Icon type="ionicon"
                                            name={direction === 'left'
                                               ? (isRTL ? 'arrow-forward' : 'arrow-back')
                                               : (isRTL ? 'arrow-back' : 'arrow-forward')}
                                               />}
    />
于 2020-08-22T08:33:47.553 回答