Skip to content

Commit f580409

Browse files
sammy-SCfacebook-github-bot
authored andcommitted
Add command to set date on RCTDatePickerManager
Summary: We are moving away from setNativeProps, this adds necessary method on native to leverage commands API Reviewed By: shergin Differential Revision: D17787877 fbshipit-source-id: 8f06cdd85c96bce4ea9bb7a8cd5f6c1a1d68b20a
1 parent 62cbdce commit f580409

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

React/Views/RCTDatePickerManager.m

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#import "RCTDatePicker.h"
1212
#import "RCTEventDispatcher.h"
1313
#import "UIView+React.h"
14+
#import <React/RCTUIManager.h>
1415

1516
@implementation RCTConvert(UIDatePicker)
1617

@@ -41,4 +42,22 @@ - (UIView *)view
4142
RCT_REMAP_VIEW_PROPERTY(mode, datePickerMode, UIDatePickerMode)
4243
RCT_REMAP_VIEW_PROPERTY(timeZoneOffsetInMinutes, timeZone, NSTimeZone)
4344

45+
RCT_EXPORT_METHOD(setNativeDate : (nonnull NSNumber *)viewTag toDate : (NSDate *)date)
46+
{
47+
[self.bridge.uiManager addUIBlock:^(RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
48+
UIView *view = viewRegistry[viewTag];
49+
50+
if ([view isKindOfClass:[RCTDatePicker class]]) {
51+
[(RCTDatePicker *)view setDate:date];
52+
} else {
53+
UIView *subview = view.subviews.firstObject;
54+
if ([subview isKindOfClass:[RCTDatePicker class]]) {
55+
[(RCTDatePicker *)subview setDate:date];
56+
} else {
57+
RCTLogError(@"view type must be RCTPicker");
58+
}
59+
}
60+
}];
61+
}
62+
4463
@end

0 commit comments

Comments
 (0)