当前位置: 首页 > news >正文

input框不能输入

目录

1、遮盖层影响:

2、类型影响:

3、监听键盘事件影响:

4、input属性影响:

5、form影响:


1、遮盖层影响:

        首先看input框能不能获取光标,如果光标不能获取,可能是有遮盖层,或者设置了input的属性之类的,要检查清楚,如果有遮盖层一般都是定位的原因,要检查z-index

2、类型影响:

        如果能获取光标,只有某种类型的不能输入,要检查代码里是否存在正则验证和type的类型

3、监听键盘事件影响:

        如果以上两种情况都没问题,还有就是看看文件里有没有监听键盘事件例如:keydown,keyup,keypress等,看看是否阻止了默认事件,比如使用了preventDefault(),这个时候一定要检查清楚,如果使用了jquery,看看有没有return false的代码,因为在jquery中return false,既阻止了冒泡,又消除了默认事件

4、input属性影响:

        autoComplete='off',下拉框不开启,就是以前输入搜索的不留痕

<Input  autoComplete='off' />  // autoComplete='off'控制下拉框是否开启

5、form影响:

       【现象】:就是我目前碰到的情况,父组件里套着子组件,子组件是个弹窗,在弹窗里对公告标题输入,发现输入后光标一离开,输入的内容就不显示

      【原因】:由父组件传值给子组件时,连带着把父组件的 form 也传给子组件了,父组件的 “pubTitle” 和子组件 “pubTitle”字段名重复了,就导致在子组件中输入form不知道怎么渲染了

// 父组件
export default function A () {return (<div><Form><FormItem>{getFieldDecorator('pubTitle')(<Input />)}</FormItem></Form><BuildModal value={props} /> // 新建弹窗</div>)}// 子组件
export default function BuildModal  (propsss) {const { value } = propsss; // 解构父组件传过来的值
const { form } = value; // 从传过来的值中解构出form,注意:此时的form和父组件是同一个return (<div>....<Form><FormItem>{getFieldDecorator('pubTitle')(<Input />)}</FormItem></Form></div>)}

      【解决】:打印log发现,从antd引用了form,每个页面都有form,不用和父组件公用一个

 

// 父组件
export default function A () {return (<div><Form><FormItem>{getFieldDecorator('pubTitle')(<Input />)}</FormItem></Form><BuildModal value={props} /> // 新建弹窗</div>)}// 子组件
export default function BuildModal  (propsss) {const { value, form: { getFieldDecorator }  } = propsss; // 解构父组件传过来的值,从传过来的值中解构出form,注意:此时的form和父组件不是同一个,因为没从value里解构React.useEffect(() => {console.log(propss, 'propsss')})return (<div>....<Form><FormItem>{getFieldDecorator('pubTitle')(<Input />)}</FormItem></Form></div>)}

此处与上面无关

用react函数组件公用model的写法即公共数据存储空间

部分代码

// model页面:
import * from projectService from '../services';export default {namespace: 'projectModel',state: {loading: false,projectList: [],},reducer: {setState (state, { payload }) {return { ...state, ...payload };} },thunk: {fetch ({ payload }, { put }) {put({  // 接口没请求成功之前loading加载type: 'projectModel/setState',payload: {loading: true,},})projectService.A().then(res => {if(res.code === 200) {put({type: 'projectModel/setState',payload: {loading: false,  // 接口请求成功loading不加载projectList: res.data,},})}})}},// 一进页面就会先执行下面写的subscription: {setup ({ dispatch, history }) {return history.listen((location) => {if(location.pathname === '/system/projectPageView') { // 想要一进页面就调接口,写上页面的路由dispatch({type: 'projectModel/fetch',payload: { pageNum:1, pageSize: 10 },async: true,  // 表示异步})}})}},}export function A (value) {return request({url: '',message: 'post',data: {...value,}})}

相关文章:

  • 代码随想录算法训练营第35天 | 860.柠檬水找零 + 406.根据身高重建队列 + 452.用最少数量的箭引爆气球
  • [GN] 设计模式——面向对象设计原则概述
  • 【游戏服务器部署】幻兽帕鲁服务器一键部署保姆级教程,游戏私服还是自己搭建的香
  • 全球工控大佬
  • 基于 NXP S32K311 评估板的方案
  • 网站打不开怎么办?高防IP弹性防护更省心
  • redis主从复制薪火相传
  • Mysql 删除数据
  • Java枚举enum:让你的编程效率翻倍的神级工具!
  • 基于GPT3.5逆向 和 本地Bert-Vits2-2.3 的语音智能助手
  • 微信小程序canvs画布修改元素线条粗细、颜色、填充状态
  • 基于Prompt Learning的信息抽取
  • C#设置程序开机启动
  • 将Android APP安装到sm8550 HDK的NVMe SSD
  • 命令行启动Android Studio模拟器
  • CentOS 7 防火墙操作
  • CentOS7 安装JDK
  • Java比较器对数组,集合排序
  • js
  • PHP CLI应用的调试原理
  • python_bomb----数据类型总结
  • Spring核心 Bean的高级装配
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 从零开始在ubuntu上搭建node开发环境
  • 给新手的新浪微博 SDK 集成教程【一】
  • 理解在java “”i=i++;”所发生的事情
  • 配置 PM2 实现代码自动发布
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 算法-图和图算法
  • 探索 JS 中的模块化
  • 我们雇佣了一只大猴子...
  • ​第20课 在Android Native开发中加入新的C++类
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • #1015 : KMP算法
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • #Lua:Lua调用C++生成的DLL库
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • $.ajax,axios,fetch三种ajax请求的区别
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (ZT)一个美国文科博士的YardLife
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (七)Java对象在Hibernate持久化层的状态
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .NET 5种线程安全集合
  • .net 7 上传文件踩坑
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .NET Core引入性能分析引导优化
  • .net6解除文件上传限制。Multipart body length limit 16384 exceeded
  • .NET开发者必备的11款免费工具