在react项目当中使用城市选择器,

import React from 'react'
import './index.less'
import { Picker } from 'antd-mobile';
// 城市选择器
class CitySelect extends React.Component{static defaultProps = {label: '',name: '',value: '',readOnly: 0,placeholder:''}componentWillMount(){this.init()}init=()=>{const { name = '', value = '', onInit } = this.props;onInit && typeof onInit === 'function' && onInit(name, value.replace(/,/g, '/'));}handleChange=(e)=>{const { name = '', onChange } = this.props;onChange && typeof onChange === 'function' && onChange(name, e.join(",").replace(/,/g, '/'), );}render(){const districtData = JSON.parse(JSON.stringify(require('./area.json')));districtData.forEach(v=>{v.value=v.labelv.children.forEach(a=>{a.value=a.labela.children.forEach(p=>{p.value=p.label})})})const { label = '',  value = '', readOnly, placeholder='' } = this.props;return(<div className="CitySelect"><div className="customerPosition">{!readOnly ? <span className="required-mask">*</span>:''}{label}</div><div style={{paddingLeft:'1rem'}} className="selectePosition">{!readOnly ? <Picker data={districtData}title={ `请选择${label}`}onOk={e => this.handleChange(e)}><div  style={{ marginLeft: '0.1rem', color:'#666'}}>{value || `选择${label}`}</div></Picker>:<div>{value || placeholder}</div>}</div>{!readOnly ? <div className="cityIcon"></div>:''}</div>)}
}
export default CitySelect
.CitySelect {display: flex;align-items: center;height: 1.22rem;background-color: #FFFFFF;padding: 0 0.54rem 0 0.49rem;font-size: 0.42rem;position: relative;.label {flex: 0 0 2.61rem;color: #2E2E2E;}.customerPosition{position: relative;.required-mask{color: red;position: absolute;left: -0.25rem;top: 0rem;}}.cityIcon{width: 0;height: 0;margin-left: 0.2rem;border-style: solid;border-width: 0.18rem 0.12rem;border-color: #666666 transparent transparent transparent;position: absolute;right: 0.5rem;}}.am-picker-popup-wrap  .am-picker-popup-header-left{display: none;}.am-picker-popup-wrap  .am-picker-popup-header-right{color: #333333;}

效果图

react中城市选择器组件相关推荐

  1. 如何在React中从其父组件更改子组件的状态

    by Johny Thomas 约翰尼·托马斯(Johny Thomas) 如何在React中从其父组件更改子组件的状态 (How to change the state of a child com ...

  2. [react] 在react中怎样改变组件状态,以及状态改变的过程是什么?

    [react] 在react中怎样改变组件状态,以及状态改变的过程是什么? 使用this.setState改变组件的状态 改变的过程中,React Fiber Reconciler遍历了整个Fiber ...

  3. [react] 描述下在react中无状态组件和有状态组件的区别是什么?

    [react] 描述下在react中无状态组件和有状态组件的区别是什么? 1,无状态组件主要用来定义模板,接收来自父组件props传递过来的数据,使用{props.xxx}的表达式把props塞到模板 ...

  4. [react] 在react中无状态组件有什么运用场景

    [react] 在react中无状态组件有什么运用场景 适用于逻辑简单的纯展示的场景,如资料卡片等 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很酷.欢迎大家一起讨论 主 ...

  5. react中创建一个组件_如何使用React和MomentJS创建一个Countdown组件

    react中创建一个组件 Recently I had to create a Countdown for one of my other projects, and I thought that i ...

  6. React中的纯组件

    React中的纯组件 React提供了一种基于浅比较模式来确定是否应该重新渲染组件的类React.PureComponent,通常只需要继承React.PureComponent就可以定义一个纯组件. ...

  7. React中的受控组件和非受控组件

    一.认识受控组件 在React中,HTML表单的处理方式和普通的DOM元素不太一样:表单元素通常会保存在一些内部的state. 比如下面的HTML表单元素: 这个处理方式是DOM默认处理HTML表单的 ...

  8. 如何在React中使用功能组件

    Have you wondered how to create a component in React? 您是否想过如何在React中创建组件? To answer, it is as simple ...

  9. React中的Portal组件

    这可以在这里看:http://leozdgao.me/reactzhong-de-portalzu-jian/ 几个月前遇到了写模态窗(modal)的需求,当初其实没什么思路,不知道怎么用更React ...

最新文章

  1. Stackoverflow 高赞答案,为什么牛逼的程序员都不用 “ ! = null ' 做判空?
  2. 全球首款64核AMD工作站发布,搭载最新线程撕裂者Pro,号称“地表最强”
  3. pycharm和python区别-一些 PyCharm 的使用和设置建议
  4. Hadoop集群 MapReduce初级案例
  5. Elk7.2 Docker
  6. ECMAScript 语法提案的批准流程
  7. java字节输出流方法,Java-IO:File和字节输入输出流
  8. python用户登录(输入用户名和密码)dic_Python使用装饰器模拟用户登陆验证功能示例...
  9. 无烟会议室:CMMI vs. Scrum vs. XP(QCon 2010 感受)
  10. autohotkey -- AHK 替换 4 为 $ 方便脚本编写
  11. 泛泰 A850 TWRP Recovery En英/Cn简/Tw繁[2013.05.19]
  12. Office WPS如何在页眉页脚添加一条横线
  13. MDCC2013会议笔记
  14. acg-faka--功能丰富的发卡二次元商城源码
  15. java获取百度实时天气(无限制)
  16. 对于大型复杂工程项目,施工标段划分较多时,对建设单位的影响是有利于得到较为合理的报价...
  17. mac 无法打开22端口 无法远程连接ssh 的解决办法
  18. 手机版python3.6.6的requests库下载_Python3.6安装及引入Requests库
  19. python公约数公倍数_python 公倍数,公约数问题
  20. Splunk 会议回顾: 大数据的关键是机器学习

热门文章

  1. fastdfs-client使用
  2. matlab中双引号,我如何在Matlab的细胞去掉双引号?
  3. 用adobe Illustratorcs画七巧板
  4. 华为HCIP RS题库221 461-470题
  5. Asp net实现下拉框和列表框的连动
  6. FFmpeg个人使用指南
  7. detectron2模型使用、读写、训练及测试
  8. 软件设计师考试 设计模式
  9. 共事三年多的一同事离职了
  10. [转]Java面试近一个月的面试总结