反应当地实现地址挑选器功能

  

本文实例为大家分享了反应本地地址挑选器的实现代码,供大家参考,具体内容如下

  

产品经理:“你明白吧,这里向右划可以出菜单,然后需要一个闪烁的动画,还有,我想这个选项卡可以拉下来,你懂吧?

  

设计师:“别废话,把你要抄的产品给我看下。”
  

  


  

  

接下来,我们仿一下别人家的地址挑选器
  

  

反应本地实现地址挑选器功能

        进口的反应,从“反应”{组件,proptype};   进口{   ViewPropTypes,   样式表,   看来,   TouchableOpacity,   TouchableNativeFeedback,   平台,   动画,   文本   从“react-native”};      出口的默认类SelectCityTabBar扩展组件{//属性声名   静态proptype={   goToPage: PropTypes.func,   activeTab: PropTypes.number,   标签:PropTypes.array,   写成backgroundColor: PropTypes.string,   activeTextColor: PropTypes.string,   inactiveTextColor: PropTypes.string,   textStyle: Text.propTypes.style,   tabStyle: ViewPropTypes.style,   renderTab: PropTypes.func,   underlineStyle: ViewPropTypes.style,   };//默认属性   静态defaultProps={   activeTextColor:“# FA3D4F ',   inactiveTextColor:“黑色”,   写成backgroundColor:空,   }      renderTab(名称、页面isTabActive>   进口的反应,从“反应”{组件};   进口{   样式表,   看来,   滚动视图,   维度,   TouchableOpacity,   InteractionManager,   平台,   UIManager,   文本   从“react-native”};   从“进口ScrollableTabView react-native-scrollable-tab-view ';   从“进口SelectCityTabBar。/SelectCityTabBar '   从“. ./. ./util/进口AREA_JSON area.json”;   const{高度、宽度}=Dimensions.get(“窗口”);      出口的默认类AddressSelect扩展组件{      静态defaultProps={   commitFun:功能(价值){   console.log(价值);   },   dissmissFun:函数(){      },   lastAddress:空,   };      构造函数(道具){   超级(道具);   如果平台。操作系统===癮ndroid”) {   UIManager.setLayoutAnimationEnabledExperimental(真正的)   }   const {lastAddress}=道具;   让selectAddress=this.initAddress (lastAddress);   这一点。状态={   selectAddress   }   }      initAddress (lastAddress) {   让selectAddress=[   {   值:空,   标签:空,   孩子们:AREA_JSON,   },{   值:空,   标签:空,   孩子们:零,   },{   值:空,   标签:空,   孩子们:零,   });   让数组=零;      有趣(数组,函数值){   (让项的数组){   如果项目。值+===价值+){   返回项目;   }   }   }   尝试{   selectAddress=selectAddress。地图((项目、索引)=比;{   让结果=乐趣(数组& # 63;数组:AREA_JSON lastAddress(指数)value);   如果(result.children) {   数组=result.children;   }   返回结果;   });   }捕捉(e) {   控制台。日志(' - - - - - - e - e);   }   返回selectAddress   }/* *   *列表行   * @param项   * @param我   * @returns {XML}   */renderListItem(项目,i) {   让itemStyle=styles.itemStyle;   让textStyle=styles.itemText;   让{selectAddress}=this.state;   如果项目。标签===selectAddress[我].label) {   itemStyle=[itemStyle];   textStyle=[textStyle,{颜色:“红色”}]   }   回报(   & lt; TouchableOpacity   风格={itemStyle}   关键={i + item.label}>   进口的反应,从“反应”{组件};   进口{   样式表,   看来,   TouchableOpacity,   警惕,   滚动视图,   艺术,   TouchableHighlight,   列表视图,   维度,   文本   从“react-native”};      从“rn-yunxi”进口{ReactNavComponent,部件};   从“. ./. ./应用/进口AddressSelect address-select/指数”      出口的默认类扩展的反应。组件{      呈现(){   回报(   & lt; TouchableOpacity风格={{flex: 1、justifyContent:“中心”,alignItems:‘中心’}}>   (   {   “价值”:“110000000000”,   “孩子”:(   {   “价值”:“110100000000”,   “孩子”:(   {   “价值”:“110101000000”,   “标签”:“东城区”   },   {   “价值”:“110102000000”,   “标签”:“西城区”   },   {   “价值”:“110105000000”,   “标签”:“朝阳区”   },   {   “价值”:“110106000000”,   “标签”:“丰台区”   },   {   “价值”:“110107000000”,   “标签”:“石景山区”   },   {   “价值”:“110108000000”,   “标签”:“海淀区”   },   {   “价值”:“110109000000”,   “标签”:“门头沟区”   },   {   “价值”:“110111000000”,   “标签”:“房山区”   },   {   “价值”:“110112000000”,   “标签”:“通州区”   },   {   “价值”:“110113000000”,   “标签”:“顺义区”   },   {   “价值”:“110114000000”,   “标签”:“昌平区”   },   {   “价值”:“110115000000”,   “标签”:“大兴区”   },   {   “价值”:“110116000000”,   “标签”:“怀柔区”   },   {   “价值”:“110117000000”,   “标签”:“平谷区”   },   {   “价值”:“110118000000”,   “标签”:“密云区”   },   {   “价值”:“110119000000”,   “标签”:“延庆区”   }   ),   “标签”:“北京市”   }   ),   “标签”:“北京市”   }   ]            

反应当地实现地址挑选器功能