mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-01-12 22:50:10 +08:00
Fixed minuteInterval invalid in time mode (#23923)
Summary: From https://github.com/facebook/react-native/pull/23861#issue-260337314 > changing "interval" example from "time-only" to "datetime" because there's a known bug that prevented the previous example from working We need to ensure set minuteInterval after set datePickerMode, otherwise minuteInterval invalid in time mode. cc. grabbou cpojer . [iOS] [Fixed] - Fixed minuteInterval invalid in time mode Pull Request resolved: https://github.com/facebook/react-native/pull/23923 Differential Revision: D14477549 Pulled By: cpojer fbshipit-source-id: 2c612d488b6d592b1907e150df5e07fe83132829
This commit is contained in:
committed by
Facebook Github Bot
parent
40de0495b9
commit
942bf4054d
@@ -131,16 +131,16 @@ exports.examples = [
|
||||
},
|
||||
},
|
||||
{
|
||||
title: 'Picker with 20-minute interval',
|
||||
title: 'Time only picker, 20-minute interval',
|
||||
render: function(): React.Element<any> {
|
||||
return (
|
||||
<WithDatePickerData>
|
||||
{(state, onDateChange) => (
|
||||
<DatePickerIOS
|
||||
testID="date-and-time-with-interval"
|
||||
testID="time-with-interval"
|
||||
date={state.date}
|
||||
minuteInterval={20}
|
||||
mode="datetime"
|
||||
mode="time"
|
||||
onDateChange={onDateChange}
|
||||
/>
|
||||
)}
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
@interface RCTDatePicker ()
|
||||
|
||||
@property (nonatomic, copy) RCTBubblingEventBlock onChange;
|
||||
@property (nonatomic, assign) NSInteger reactMinuteInterval;
|
||||
|
||||
@end
|
||||
|
||||
@@ -23,6 +24,7 @@
|
||||
if ((self = [super initWithFrame:frame])) {
|
||||
[self addTarget:self action:@selector(didChange)
|
||||
forControlEvents:UIControlEventValueChanged];
|
||||
_reactMinuteInterval = 1;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
@@ -36,4 +38,17 @@ RCT_NOT_IMPLEMENTED(- (instancetype)initWithCoder:(NSCoder *)aDecoder)
|
||||
}
|
||||
}
|
||||
|
||||
- (void)setDatePickerMode:(UIDatePickerMode)datePickerMode
|
||||
{
|
||||
[super setDatePickerMode:datePickerMode];
|
||||
// We need to set minuteInterval after setting datePickerMode, otherwise minuteInterval is invalid in time mode.
|
||||
self.minuteInterval = _reactMinuteInterval;
|
||||
}
|
||||
|
||||
- (void)setMinuteInterval:(NSInteger)minuteInterval
|
||||
{
|
||||
[super setMinuteInterval:minuteInterval];
|
||||
_reactMinuteInterval = minuteInterval;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
Reference in New Issue
Block a user