react实现移动端数据输出与显示

这次给大家带来react实现移动端数据输出与显示,react实现移动端数据输出与显示的注意事项有哪些,下面就是实战案例,一起来看一下。

要求如下

输入框输入内容数据长度大于0,展示出预览信息

光标离开关闭预览信息

预览信息每隔4位插入一个特殊字符_,输入内容不变

限制长度为13位

只允许输入数字(0-9)

// Zinput.jsimport React, { Component} from 'react';import './Zinput.css'// NOTE: 获取焦点事件 原生onFocus 即可// NOTE: 离开焦点事件 原生onBlur即可// NOTE: 输入框数据过滤 直接在change方法里进行过滤// NOTE: 条件处理 通过不同条件返回不同节点做条件处理class Zinput extends Component { constructor(props) {  super(props);  this.state = {   value: '',   showBig: false,  };  this.handleChange = this.handleChange.bind(this);  this.inputOnFocus = this.inputOnFocus.bind(this);  this.inputOnBlur = this.inputOnBlur.bind(this); } inputOnFocus() {  if (this.state.value.length > 0) {   this.setState({    showBig: true   })  } } inputOnBlur() {  this.setState({   showBig: false  })  if(this.props.chanegNumber){   this.props.chanegNumber(this.state.value)  } } handleChange(event) {  let val = event.target.value.substr(0, 13)   .replace(/[^d]/g, '')  event.target.value = val  this.setState({   value: val,   showBig: true,  }); } /**  * 根据字符串没隔len位插入一个下滑杠,返回处理后的字符串  * @method  getStr  * @author 朱阳星  * @datetime 2018-04-02T09:57:58+080  * @email  zhuyangxing@foxmail.com  * @param  {String} str 待处理字符串  * @param  {Number} len 每隔位数插入下滑杠  * @return  {String} 处理后的字符串  */ getStr(str, len) {  let lenth = str.length  let len1 = len - 1  let newStr = ''  for (var i = 0; i  0) {    newStr += str.charAt(i) + '_'   } else {    newStr += str.charAt(i)   }  }  if (newStr.length % (len + 1) === 0) {   // 解决最后一位为补充项问题   newStr = newStr.substr(0, newStr.length - 1)  }  return newStr } render() {  // NOTE return 需要用圆括号包住并处理  // NOTE 条件语句里没有节点也要用空字符串进行处理 否则sonalint会报错,页面也会报错  const showBig = this.state.showBig ? (   

{ this.getStr(this.state.value,4) }

) : '' return (

{showBig}

) }}export default Zinput; // Don't forget to use export default!

登录后复制

.zInput{  position: absolute;  top:80px;  left:40px;  }.input { position: absolute; top: 0; left: 0;}.big-show {  position: relative;  top: -40px;  font-size: 36px;  line-height: 40px;  background-color: red;}

登录后复制

功能虽然实现,但是肯定是作为某个节点的某个子组件使用的,父组件调用方法有两种

1.使用refs直接获取子组件state的值

constructor(props) { super(props); this.handerClick2 = this.handerClick2.bind(this);}handerClick2(){ // NOTE 父组件通过refs获取子组件的state  console.log("使用ref获取子组件的值",this.refs.zinput.state.value)}render() { return (  

);}

登录后复制

2.每次子组件焦点离开时调用父组件传过来的方法,修改父组件state值

constructor(props) { super(props); this.state = {  phoneNumber: '', }; this.handerClick = this.handerClick.bind(this); this.changePhoneNumber = this.changePhoneNumber.bind(this);}changePhoneNumber(number){ this.setState({   phoneNumber: number, })}handerClick(){ // NOTE 根据react的思想是在子组件处理完某件事的时候调用父组件的方法修改父组件的state值 console.log("使用state获取值",this.state.phoneNumber)}render() { return (  

);}

登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

node服务器跨域步奏详解

vue-router懒加载详解(附代码)

以上就是react实现移动端数据输出与显示的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2770123.html

(0)
上一篇 2025年3月8日 12:31:49
下一篇 2025年2月25日 23:40:35

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • react做出按需加载效果

    这次给大家带来react做出按需加载效果,react做出按需加载效果的注意事项有哪些,下面就是实战案例,一起来看一下。 虽然一直有做 react 相关的优化,按需加载、dll 分离、服务端渲染,但是从来没有从路由代码分割这一块入手过,昨天在…

    2025年3月8日
    200
  • jQuery使用ajax跨域获取数据步骤详解

    这次给大家带来jQuery使用ajax跨域获取数据步骤详解,jQuery使用ajax跨域获取数据的注意事项有哪些,下面就是实战案例,一起来看一下。 jQuery使用ajax跨域获取数据的简单实例 var webMethod = “http:…

    编程技术 2025年3月8日
    200
  • Ajax丢失刷新后数据怎么处理

    这次给大家带来Ajax丢失刷新后数据怎么处理,处理Ajax丢失刷新后数据的注意事项有哪些,下面就是实战案例,一起来看一下。 Ajax 简介: AJAX即“Asynchronous Javascript And XML”(异步JavaScri…

    编程技术 2025年3月8日
    200
  • ajax请求操作返回数据顺序

    这次给大家带来ajax请求操作返回数据顺序,ajax请求操作返回数据顺序的注意事项有哪些,下面就是实战案例,一起来看一下。 ajax请求一个url,php后端处理后,数组为如下格式: $a = array( ‘-1’=> 10 ,’-…

    编程技术 2025年3月8日
    200
  • 实现带分组数据Table表头排序功能

    这次给大家带来实现带分组数据Table表头排序功能,实现带分组数据Table表头排序功能的注意事项有哪些,下面就是实战案例,一起来看一下。 如下图: 要求:点击表头排序时,”分组”及”分组明细&#8221…

    2025年3月8日
    200
  • jQuery+Ajax实现表格数据标题排序

    这次给大家带来jQuery+Ajax实现表格数据标题排序,jQuery+Ajax实现表格数据标题排序的注意事项有哪些,下面就是实战案例,一起来看一下。 表格大家都十分熟悉,如今的CSS也使得表格的布局越来越光彩耀人。但是,无论如何,都掩饰不…

    2025年3月8日
    200
  • react配合antd组件做出后台系统

    这次给大家带来react配合antd组件做出后台系统,react配合antd组件做出后台系统的注意事项有哪些,下面就是实战案例,一起来看一下。 使用create-react-app脚手架 具体基础配置请参考 配合antd组件实现的管理系统d…

    2025年3月8日
    200
  • react脚手架使用步骤详解

    这次给大家带来react脚手架使用步骤详解,react脚手架使用的注意事项有哪些,下面就是实战案例,一起来看一下。 1. 介绍 在开发react应用时,应该没有人用传统的方法引入react的源文件(js),然后在html编辑吧。 大家都是用…

    2025年3月8日 编程技术
    200
  • echarts节点显示动态数据实现步骤

    这次给大家带来echarts节点显示动态数据实现步骤,echarts节点显示动态数据的注意事项有哪些,下面就是实战案例,一起来看一下。 刚接触echarts不久,在使用过程中遇到了2个难点,     1、每个节点显示动态数据,这个其实可以通…

    2025年3月8日
    200
  • Vue实现双向数据绑定功能(附代码)

    这次给大家带来Vue实现双向数据绑定功能(附代码),Vue实现双向数据绑定功能的注意事项有哪些,下面就是实战案例,一起来看一下。 1、原理 Vue的双向数据绑定的原理相信大家也都十分了解了,主要是通过 Object对象的defineProp…

    2025年3月8日
    200

发表回复

登录后才能评论