diff --git a/React/Views/RCTDatePickerManager.m b/React/Views/RCTDatePickerManager.m index da94b210536..7d366d109a9 100644 --- a/React/Views/RCTDatePickerManager.m +++ b/React/Views/RCTDatePickerManager.m @@ -11,6 +11,7 @@ #import "RCTDatePicker.h" #import "RCTEventDispatcher.h" #import "UIView+React.h" +#import @implementation RCTConvert(UIDatePicker) @@ -41,4 +42,22 @@ RCT_EXPORT_VIEW_PROPERTY(onChange, RCTBubblingEventBlock) RCT_REMAP_VIEW_PROPERTY(mode, datePickerMode, UIDatePickerMode) RCT_REMAP_VIEW_PROPERTY(timeZoneOffsetInMinutes, timeZone, NSTimeZone) +RCT_EXPORT_METHOD(setNativeDate : (nonnull NSNumber *)viewTag toDate : (NSDate *)date) +{ + [self.bridge.uiManager addUIBlock:^(RCTUIManager *uiManager, NSDictionary *viewRegistry) { + UIView *view = viewRegistry[viewTag]; + + if ([view isKindOfClass:[RCTDatePicker class]]) { + [(RCTDatePicker *)view setDate:date]; + } else { + UIView *subview = view.subviews.firstObject; + if ([subview isKindOfClass:[RCTDatePicker class]]) { + [(RCTDatePicker *)subview setDate:date]; + } else { + RCTLogError(@"view type must be RCTPicker"); + } + } + }]; +} + @end