iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Input标签自动校验功能去除实现
  • 883
分享到

Input标签自动校验功能去除实现

2024-04-02 19:04:59 883人浏览 薄情痞子
摘要

目录自动校验解决方法解决思路多种解决方法1、ConfigProvider2、修改defaultProps3、拦截React.createElement4、全局监听input事件5、M

自动校验

注:以下输入框包含input、textarea

事情是这样的,上个星期,接到了一个需求,要求去除掉项目中的输入框的自动拼写检查功能,也就是下图出现的红线,这个检查是浏览器自带的

解决方法

其实是有解决方法的,而且也不难,很简单,只需要在输入框标签上加上一个属性spellcheck=false即可,也就是:

<input spellcheck=false />
<textarea spellcheck=false />

解决思路

但是问题来了,我需要给全局的输入框标签都加上才行,由于本项目是使用了antd-design这个组件库,那我们来看看整个项目都有哪些组件包含了输入框标签呢?

1、Input:包含input

2、Select:包含input

3、InputNumber:包含input

4、Textarea:包含textarea

多种解决方法

1、ConfigProvider

ant-design官方提供了一个组件,可以用来为全局的组件进行统一配置,这个组件可以传入一个input的参数,即可配置全局的Input标签

也就是:

<ConfigProvider 
  input={{spellCheck: false}}>
</ConfigProvider>

由于这个配置只针对全局的Input,所以结果都有哪些组件成功去掉了拼写校验功能呢:

  • 1、Input:✅
  • 2、Select:❌
  • 3、InputNumber:❌
  • 4、Textarea:❌

2、修改defaultProps

大概的思路就是,修改ant-design的源码中的input这一部分,给Input、Textarea这些组件加上一个defaultProps,这个defaultProps长这样:

const defaultProps = {
  spellCheck: false
}

所以具体实现为以下代码

// Input
import Input from 'antd/es/input';
Input.defaultProps = {
  ...Input.defaultProps,
  ...defaultProps,
};
export default Input
// Textarea
import TextArea from 'antd/es/input/TextArea';
TextArea.defaultProps = {
  ...TextArea.defaultProps,
  ...defaultProps,
};
export default Textarea

结果就是,全局的Input、Textarea都去除了拼接检查了,但是Select、InputNumber却没有去除,因为他们是依赖了RCSelect、RCInputNumber这两个另外的组件,所以想改这两个,就得去改他们两依赖的组件,所以结果就是:

  • 1、Input:✅
  • 2、Select:❌
  • 3、InputNumber:❌
  • 4、Textarea:✅

3、拦截React.createElement

我们都知道在React中,只要涉及到JSX语法,最终在解析时都会通过React.createElement方法来创建标签

所以思路就是在最终调用React.createElement时,判断如果是input、textarea这两个类型的话,就给标签加上spellCheck: false这个属性,具体代码为

这样做的结果是:

  • 1、Input:✅
  • 2、Select:✅
  • 3、InputNumber:✅
  • 4、Textarea:✅

但是总是觉得直接涉及到React自带方法的修改,有点不太好。。

4、全局监听input事件

思路就是全局监听input这个事件,并在这个事件里去给触发事件的DOM节点增加spellCheck: false,具体代码为:

这样做的结果是:

  • 1、Input:✅
  • 2、Select:✅
  • 3、InputNumber:✅
  • 4、Textarea:✅

5、MutationObserver

兼容性比较差,所以不考虑了吧~~~

以上就是Input标签自动拼写检查功能去除实现的详细内容,更多关于Input去除自动拼写检查的资料请关注编程网其它相关文章!

--结束END--

本文标题: Input标签自动校验功能去除实现

本文链接: https://www.lsjlt.com/news/153409.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Input标签自动校验功能去除实现
    目录自动校验解决方法解决思路多种解决方法1、ConfigProvider2、修改defaultProps3、拦截React.createElement4、全局监听input事件5、M...
    99+
    2024-04-02
  • Input标签自动校验功能去除怎么实现
    今天小编给大家分享一下Input标签自动校验功能去除怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。自动校验注:以下输...
    99+
    2023-07-02
  • java签名校验功能怎么实现
    要实现Java签名校验功能,你可以按照以下步骤进行: 获取签名证书:首先,你需要获取要校验的文件的签名证书。可以使用Java的Ke...
    99+
    2023-10-26
    java
  • android签名校验功能怎么实现
    要实现Android签名校验功能,可以按照以下步骤进行:1. 获取应用的签名信息:首先,获取应用的签名信息。可以通过以下代码获取应用...
    99+
    2023-08-23
    android
  • js实现表单校验功能
    本文实例为大家分享了js实现表单校验功能的具体代码,供大家参考,具体内容如下 1、所用到的三个事件: onfocus(焦点聚焦事件)、onblur(焦点离开事件)、onkeyup(按...
    99+
    2024-04-02
  • HTML5中如何实现input[type='date']自定义样式与日历校验功能
    这篇文章给大家分享的是有关HTML5中如何实现input[type='date']自定义样式与日历校验功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.日历控...
    99+
    2024-04-02
  • JSP页面实现验证码校验功能
    目录验证码校验分析生成验证码测试验证码校验验证码测试验证码校验添加验证码刷新在网页页面的使用中为防止“非人类”的大量操作和防止一些的信息冗余,增加验证码校验是...
    99+
    2022-11-13
    JSP验证码 JSP验证码校验 JSP页面验证码
  • SpringBoot数据校验功能的实现
    1.pom.xml <xml version="1.0" encoding="UTF-8"> <project xmlns="http://maven.apache...
    99+
    2024-04-02
  • vue+spring boot实现校验码功能
    本文实例为大家分享了vue+spring boot实现校验码功能的具体代码,供大家参考,具体内容如下 用vue写了一个校验码来玩玩,样子如下: 1.img标签 <img ...
    99+
    2024-04-02
  • Python3自动签到功能怎么实现
    要实现Python3自动签到功能,可以采用以下步骤:1. 导入必要的库,例如requests用于发送HTTP请求、时间库用于定时执行...
    99+
    2023-08-17
    Python3
  • vue实现tab标签(标签超出自动滚动)
    当创建的tab标签超出页面可视区域时自动滚动一个tab标签距离,并可手动点击滚动tab标签,实现效果请看GIF图 效果预览GIF图 <template> &...
    99+
    2024-04-02
  • 如何实现amazeui页面校验功能
    这篇文章主要介绍了如何实现amazeui页面校验功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。如下图所示: 邮政“邮政编码”字段,数据库中是varchar2(1...
    99+
    2023-06-09
  • js实现注册页面校验功能
    本文实例为大家分享了js实现注册页面的校验代码,供大家参考,具体内容如下 基本操作 document.getElementById():获取页面元素alert():向页面弹出提示框。...
    99+
    2024-04-02
  • HTML5如何实现自定义样式与日历校验功能
    这篇文章给大家分享的是有关HTML5如何实现自定义样式与日历校验功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.日历控件自定义样式HTML5提供了日历控件功能,缩减了开发时...
    99+
    2024-04-02
  • springboot中validator数据校验功能的实现
    普通校验 导入依赖: 默认的报错:没有提示具体的属性 设置自己的错误信息提示:创建 ValidationMessages.properties 内容如下: user.id....
    99+
    2024-04-02
  • springboot整合JSR303校验功能实现代码
    目录JSR303简介4.7 JSR303校验4.7.1 统一校验的需求4.7.2 统一校验实现4.7.3 分组校验4.7.4 校验规则不满足?JSR303简介 JSR-303 是 J...
    99+
    2023-01-15
    springboot整合JSR303校验 springboot整合JSR303 springboot校验 JSR303校验
  • vue+spring boot如何实现校验码功能
    这篇文章将为大家详细讲解有关vue+spring boot如何实现校验码功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。用vue写了一个校验码来玩玩,样子如下:img标签<img &nb...
    99+
    2023-06-15
  • PHP实现去除HTML标签的方法详解
    PHP实现去除HTML标签的方法详解 在WEB开发中,经常会遇到需要处理文本内容、去除HTML标签的需求。PHP作为一种常用的服务器端脚本语言,提供了多种方法来实现去除HTML标签的操...
    99+
    2024-04-02
  • 如何实现el-input标签中密码的显示和隐藏功能
    这篇文章将为大家详细讲解有关如何实现el-input标签中密码的显示和隐藏功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。效果展示:  密码隐藏:  密码显示:代码展示...
    99+
    2024-04-02
  • 基于Vue+elementUI如何实现动态表单的校验功能
    小编给大家分享一下基于Vue+elementUI如何实现动态表单的校验功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言开发...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作