亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Input標(biāo)簽自動(dòng)校驗(yàn)功能去除實(shí)現(xiàn)

 更新時(shí)間:2022年07月04日 15:21:51   作者:Sunshine_Lin  
這篇文章主要為大家介紹了Input標(biāo)簽的自動(dòng)拼寫檢查功能去除實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

自動(dòng)校驗(yàn)

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

事情是這樣的,上個(gè)星期,接到了一個(gè)需求,要求去除掉項(xiàng)目中的輸入框的自動(dòng)拼寫檢查功能,也就是下圖出現(xiàn)的紅線,這個(gè)檢查是瀏覽器自帶的

解決方法

其實(shí)是有解決方法的,而且也不難,很簡(jiǎn)單,只需要在輸入框標(biāo)簽上加上一個(gè)屬性spellcheck=false即可,也就是:

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

解決思路

但是問題來了,我需要給全局的輸入框標(biāo)簽都加上才行,由于本項(xiàng)目是使用了antd-design這個(gè)組件庫(kù),那我們來看看整個(gè)項(xiàng)目都有哪些組件包含了輸入框標(biāo)簽?zāi)兀?/p>

1、Input:包含input

2、Select:包含input

3、InputNumber:包含input

4、Textarea:包含textarea

多種解決方法

1、ConfigProvider

ant-design官方提供了一個(gè)組件,可以用來為全局的組件進(jìn)行統(tǒng)一配置,這個(gè)組件可以傳入一個(gè)input的參數(shù),即可配置全局的Input標(biāo)簽

也就是:

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

由于這個(gè)配置只針對(duì)全局的Input,所以結(jié)果都有哪些組件成功去掉了拼寫校驗(yàn)功能呢:

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

2、修改defaultProps

大概的思路就是,修改ant-design的源碼中的input這一部分,給Input、Textarea這些組件加上一個(gè)defaultProps,這個(gè)defaultProps長(zhǎng)這樣:

const defaultProps = {
  spellCheck: false
}

所以具體實(shí)現(xiàn)為以下代碼

// 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

結(jié)果就是,全局的Input、Textarea都去除了拼接檢查了,但是Select、InputNumber卻沒有去除,因?yàn)樗麄兪且蕾嚵?strong>RCSelect、RCInputNumber這兩個(gè)另外的組件,所以想改這兩個(gè),就得去改他們兩依賴的組件,所以結(jié)果就是:

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

3、攔截React.createElement

我們都知道在React中,只要涉及到JSX語(yǔ)法,最終在解析時(shí)都會(huì)通過React.createElement方法來創(chuàng)建標(biāo)簽

所以思路就是在最終調(diào)用React.createElement時(shí),判斷如果是input、textarea這兩個(gè)類型的話,就給標(biāo)簽加上spellCheck: false這個(gè)屬性,具體代碼為

這樣做的結(jié)果是:

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

但是總是覺得直接涉及到React自帶方法的修改,有點(diǎn)不太好。。

4、全局監(jiān)聽input事件

思路就是全局監(jiān)聽input這個(gè)事件,并在這個(gè)事件里去給觸發(fā)事件的DOM節(jié)點(diǎn)增加spellCheck: false,具體代碼為:

這樣做的結(jié)果是:

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

5、MutationObserver

兼容性比較差,所以不考慮了吧~~~

以上就是Input標(biāo)簽自動(dòng)拼寫檢查功能去除實(shí)現(xiàn)的詳細(xì)內(nèi)容,更多關(guān)于Input去除自動(dòng)拼寫檢查的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 一文帶你掌握React類式組件中setState的應(yīng)用

    一文帶你掌握React類式組件中setState的應(yīng)用

    這篇文章主要為大家詳細(xì)介紹了介紹了React類式組件中setState的三種寫法以及簡(jiǎn)單討論下setState?到底是同步的還是異步的,感興趣的可以了解下
    2024-02-02
  • 用React Native制作一個(gè)簡(jiǎn)單的游戲引擎

    用React Native制作一個(gè)簡(jiǎn)單的游戲引擎

    今天給大家分享的是使用React Native制作一個(gè)簡(jiǎn)單的游戲,這個(gè)游戲可以跨平臺(tái)操作,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)React Native游戲相關(guān)知識(shí)感興趣的朋友一起看看吧
    2021-05-05
  • 快速創(chuàng)建React項(xiàng)目并配置webpack

    快速創(chuàng)建React項(xiàng)目并配置webpack

    這篇文章主要介紹了創(chuàng)建React項(xiàng)目并配置webpack,在這里需要注意,Create?React?App?requires?Node?14?or?higher.需要安裝高版本的node,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2022-01-01
  • react中如何使用定義數(shù)據(jù)并監(jiān)聽其值

    react中如何使用定義數(shù)據(jù)并監(jiān)聽其值

    這篇文章主要介紹了react中如何使用定義數(shù)據(jù)并監(jiān)聽其值問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • react用Redux中央倉(cāng)庫(kù)實(shí)現(xiàn)一個(gè)todolist

    react用Redux中央倉(cāng)庫(kù)實(shí)現(xiàn)一個(gè)todolist

    這篇文章主要為大家詳細(xì)介紹了react用Redux中央倉(cāng)庫(kù)實(shí)現(xiàn)一個(gè)todolist,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • 詳解React中如何拆分組件

    詳解React中如何拆分組件

    這篇文章主要為大家詳細(xì)介紹了React中拆分組件的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),對(duì)我們掌握React有一定的幫助,需要的小伙伴可以參考一下
    2023-12-12
  • react native 獲取地理位置的方法示例

    react native 獲取地理位置的方法示例

    這篇文章主要介紹了react native 獲取地理位置的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-08-08
  • React深入分析更新的創(chuàng)建源碼

    React深入分析更新的創(chuàng)建源碼

    React組件分為函數(shù)組件與class組件;函數(shù)組件是無狀態(tài)組件,class稱為類組件;函數(shù)組件只有props,沒有自己的私有數(shù)據(jù)和生命周期函數(shù);class組件有自己私有數(shù)據(jù)(this.state)和生命周期函數(shù)
    2023-01-01
  • React-Router v6實(shí)現(xiàn)頁(yè)面級(jí)按鈕權(quán)限示例詳解

    React-Router v6實(shí)現(xiàn)頁(yè)面級(jí)按鈕權(quán)限示例詳解

    這篇文章主要介紹了使用 reac+reactRouter來實(shí)現(xiàn)頁(yè)面級(jí)的按鈕權(quán)限功能,這篇文章分三部分,實(shí)現(xiàn)思路、代碼實(shí)現(xiàn)、踩坑記錄,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2023-10-10
  • react實(shí)現(xiàn)拖拽模態(tài)框

    react實(shí)現(xiàn)拖拽模態(tài)框

    這篇文章主要為大家詳細(xì)介紹了react實(shí)現(xiàn)拖拽模態(tài)框,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08

最新評(píng)論