React-native-calendars 使用 renderArrow 函数显示上个月和下个月而不是箭头
React-native-calendars Show previous and next month instead of arrows using renderArrow function
描述
使用 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'
}}
/>
在您的代码中有两点需要注意。
- renderArrow 函数包含
direction
作为参数,它
随后包含值 left
和 right
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>
}
}
描述 使用 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'
}}
/>
在您的代码中有两点需要注意。
- renderArrow 函数包含
direction
作为参数,它 随后包含值left
和right
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>
}
}