react-native-picker滚动选择组件

react-native-picker

在这里插入图片描述

自定义picker

  1. 安装

    yarn add react-native-picker
    
  2. 代码

    import Picker from 'react-native-picker';
        Picker.init({
          pickerData: CityJson,
          selectedValue: ["北京", "北京"],
          wheelFlex: [1, 1, 0], // 显示省和市
          pickerConfirmBtnText: "确定",
          pickerCancelBtnText: "取消",
          pickerTitleText: "选择城市",
          onPickerConfirm: data => {
            // data =  [广东,广州,天河]
            this.setState(
              {
                city: data[1]
              }
            );
          }
        });
        Picker.show();
    
       /*
       [
         {
           "北京": [
             {
               "北京": [
                 "东城区"
               ]
             }
           ]
         },
         {
           "天津": [
             {
               "天津": [
                 "和平区",
                 "河东区"
               ]
             }
           ]
         }
       ]
       */
        import CityJson from "../../../res/citys.json";
        showCityPicker = () => {
         Picker.init({
           // pickerData 要显示哪些数据 全国城市数据?
           // 在src那个文件夹下有JSON文件,需要的话,自己改一改就可以了
           pickerData: CityJson,
           // 默认选择哪个数据
           // selectedValue: ["河北", "唐山"],
           selectedValue: ["北京", "北京"],
           // 这三个分别是省、市、区是否显示
           wheelFlex: [1, 1, 0], // 显示省和市
           pickerConfirmBtnText: "确定",
           pickerCancelBtnText: "取消",
           pickerTitleText: "选择城市",
           // 当点击确定之后的事件
           onPickerConfirm: data => {
               // data =  [广东,广州,天河]
               this.setState(
               {
                 city: data[1]
               }
             );
           }
         });
         Picker.show();
       }
     
        <TouchableOpacity onPress={this.showCityPicker}>
           <Input
             value={"当前定位:" + city}
             inputStyle={{ color: "#666" }}
             // 如何设置输入框点击事件,首先disable={true},之后在外面添加点击事件
             // 禁用键盘
             disabled={true}
           />
         </TouchableOpacity>
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值