addressselector
v1.0.0
Published
整合当前项目城市选择器—《仿京东》 ``` 1,数据格式—json—【area_two.json】 2,主要控件 —①(自定义Cell—【AreaTableViewCell】) —②(自定义View—【AreaView】) —③(自定义Button—【暂时不知道用处】) —④(RN交互文件—【CitySelectss】) 3,第三方用到Masonry自动布局 ``` # 如何使用 * 手动导入 直接下载工程把 `Masonry`+`CitySelectModules`+`CitySe
Downloads
2
Readme
AddressSelector
整合当前项目城市选择器—《仿京东》
1,数据格式—json—【area_two.json】
2,主要控件
—①(自定义Cell—【AreaTableViewCell】)
—②(自定义View—【AreaView】)
—③(自定义Button—【暂时不知道用处】)
—④(RN交互文件—【CitySelectss】)
3,第三方用到Masonry自动布局
如何使用
手动导入 直接下载工程把
Masonry
+CitySelectModules
+CitySelectss
文件夹导入到自己工程中。RN中在文件内
react-native
里导入NativeModules
,然后配置XCode
中选择器文件方法,const JDAddressSelect = Platform.OS === 'ios' ? NativeModules.CitySelectss : NativeModules.JDAddressSelect;
。调用方法
Ios:
`JDAddressSelect.OpenCity()`。
Android:
—① `JDAddressSelect.showJDAdressSelectDialog( "","","","","","", (provinceName, cityName, yorkName, provinceCode, cityCode, yorkCode) => { console.log(provinceName + cityName + yorkName + provinceCode + cityCode + yorkCode) })`。 —② `JDAddressSelect.showJDAdressSelectDialog( "内蒙古","呼和浩特","新城区","150000","150100","150102", (provinceName, cityName, yorkName, provinceCode, cityCode, yorkCode) => { console.log(provinceName + cityName + yorkName + provinceCode + cityCode + yorkCode) })`。
使用方法①时,每次调用皆是一个全新的选择器。
使用方法②时,会显示上次选择内容。如果需要打开后显示上次选择内容请选择方法②,六个参数依次为:省份名称,市名称,区名称,省级编码,市级编码,区级编码。这六个参数请按照上次选择后回调的六个参数依次填写,即console打印的内容。
注意:如果不需要上次选择内容,请也将六个参数补齐,即六个空字符串即可。
iOS原生访问调用React Native
- 如果我们需要从iOS原生方法发送数据到JavaScript中,那么可以使用eventDispatcher。首先我们需要在RCTBridgeModule实现中中引入:
#import "RCTBridge.h"
#import "RCTEventDispatcher.h"
@synthesize bridge = _bridge;
- 接下来通过iOS OC原生代码进行访问JavaScript--其中
CityInfos
是标识符,body
内的事传递的参数。
[self.bridge.eventDispatcher sendAppEventWithName:@"CityInfos"body:@{@"info":infoDic,@"code":codeDic}];
- 其中RN中需使用
DeviceEventEmitter.addListener("CityInfos", (params)
方法进行调用。
如上的代码,首先通过导入NativeAppEventEmitter模块,使用该模块在JavaScript代码中进行注册订阅相应的事件。然后我们在方法中使用addListener()方法进行添加订阅事件。有订阅当然有取消订阅,所以我们在remove()方法进行取消即可。
演示
联系我:
- qq: 8513036
- qq: 2667948594