React-native-calendars使用renderArrow函数显示上个月和下个月而不是箭头

时间:2018-03-27 04:30:40

标签: react-native react-native-calendars

描述 使用renderArrow函数显示上个月和下个月而不是箭头

预期行为 在左侧和下个月在右侧显示上个月

观察到的行为 双方都在上个月展示了

我的代码:

<Calendar
onDayPress={(day) => {this.setDay(day)}}
renderArrow={(left,right) => (left? {this.state.previousMonth}: {this.state.nextMonth})}
pastScrollRange={0}
markedDates={{[this.state.selected]: {selected: true, disableTouchEvent: true, selectedColor: '#C7A985'}}}
firstDay={1}
theme={{
selectedDayTextColor: 'white'
}}
/>

1 个答案:

答案 0 :(得分:5)

代码注意有两件事。

  • renderArrow函数包含direction作为参数 随后包含值leftright
  • renderArrow函数接受JSX属性 因此,您需要以这种方式修改code

     <Calendar
        onDayPress={(day) => {this.setDay(day)}}
        renderArrow={this._renderArrow}
        pastScrollRange={0}
        markedDates={{[this.state.selected]: {selected: true, disableTouchEvent: true, selectedColor: '#C7A985'}}}
        firstDay={1}
        theme={{
            selectedDayTextColor: 'white'
        }}
    />
    

和函数

 _renderArrow = (direction) => {
        if(direction === 'left') {
            return <Text>{this.state.previousMonth}</Text>
        } else {
            return <Text>{this.state.nextMonth}</Text>
        }
    }