欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Input標簽自動校驗功能去除實現(xiàn)

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

自動校驗

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

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

解決方法

其實是有解決方法的,而且也不難,很簡單,只需要在輸入框標簽上加上一個屬性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官方提供了一個組件,可以用來為全局的組件進行統(tǒng)一配置,這個組件可以傳入一個input的參數(shù),即可配置全局的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
}

所以具體實現(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

結果就是,全局的Input、Textarea都去除了拼接檢查了,但是Select、InputNumber卻沒有去除,因為他們是依賴了RCSelect、RCInputNumber這兩個另外的組件,所以想改這兩個,就得去改他們兩依賴的組件,所以結果就是:

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

3、攔截React.createElement

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

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

這樣做的結果是:

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

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

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

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

這樣做的結果是:

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

5、MutationObserver

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

以上就是Input標簽自動拼寫檢查功能去除實現(xiàn)的詳細內(nèi)容,更多關于Input去除自動拼寫檢查的資料請關注腳本之家其它相關文章!

相關文章

  • 一文帶你掌握React類式組件中setState的應用

    一文帶你掌握React類式組件中setState的應用

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

    用React Native制作一個簡單的游戲引擎

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

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

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

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

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

    react用Redux中央倉庫實現(xiàn)一個todolist

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

    詳解React中如何拆分組件

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

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

    這篇文章主要介紹了react native 獲取地理位置的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    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實現(xiàn)頁面級按鈕權限示例詳解

    React-Router v6實現(xiàn)頁面級按鈕權限示例詳解

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

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

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

最新評論