成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

因為不看前端文檔,導致白忙活一整天

開發 前端
ant-design?官方提供了一個組件,可以用來為全局的組件進行統一配置,這個組件可以傳入一個?input?的參數,即可配置全局的?Input?標簽。

情況是這樣子的,上周,我們接到了一項任務,需要把項目中輸入框的那個自動拼寫檢查功能去掉,也就是如下圖所示的紅線部分,這個檢查功能是瀏覽器默認具備的。

圖片圖片

解決辦法

其實是有解決方法的,而且也不難,很簡單,只需要在輸入框標簽上加上一個屬性 spellcheck=false 即可,也就是:

圖片圖片

圖片圖片

解決思路

然而,難題來了,我得給項目里所有的輸入框標簽都添加這個屬性才行。鑒于本項目采用了antd-design組件庫,那么我們來梳理一下整個項目包含輸入框標簽的組件有哪些呢?

  • Input: 涵蓋 input
  • Select: 涵蓋 input
  • InputNumber: 涵蓋 input
  • Textarea: 涵蓋 textarea
  • body: 直接在 body 上添加 spellcheck="true"

多種解決方法

1.ConfigProvider

圖片圖片

ant-design 官方提供了一個組件,可以用來為全局的組件進行統一配置,這個組件可以傳入一個 input 的參數,即可配置全局的 Input 標簽

圖片圖片

也就是:

圖片圖片

由于這個配置只針對全局的Input,所以結果都有哪些組件成功去掉了拼寫校驗功能呢:

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

2.修改defaultProps

大致的構思便是,對ant-design的源碼里input相關的部分進行調整,給Input、Textarea等組件設定一個defaultProps,這個defaultProps如下所示:

圖片圖片

所以具體實現為以下代碼:

圖片圖片

最終的結果便是,全局的Input、Textarea成功去除了拼寫檢查功能,然而Select、InputNumber卻未能實現,這是因為它們依賴于RCSelect、RCInputNumber這兩個其他的組件,所以要修改這兩個組件,就得去改動它們所依賴的組件,如此一來結果就是:

  • Input:?
  • Select:?
  • InputNumber:?
  • Textarea:?

3.攔截React.createElement

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

圖片圖片

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

圖片圖片

這樣做的結果是:

  • Input:?
  • Select:?
  • InputNumber:?
  • Textarea:?

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

4.全局監聽input事件

主要的想法是全局監聽 input 事件,然后在此事件中為觸發該事件的 DOM 節點添加spellCheck: false屬性,具體的代碼是:

圖片圖片

這樣做的結果是:

  • Input:?
  • Select:?
  • InputNumber:?
  • Textarea:?

5.MutationObserver

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

圖片圖片

最終看文檔:body 直接加 spellcheck="true"

唉。。。都怪自己之前沒仔細閱讀文檔。。。實際上之前所做的全都是徒勞,最為簡便的方法是直接在 body 上添加 spellcheck="false" 即可,這樣其下方的后代元素會自動沿用這個屬性值。。。

圖片圖片

圖片圖片


責任編輯:武曉燕 來源: 前端之神
相關推薦

2018-10-31 10:31:04

谷歌AI玩法

2021-11-13 00:07:40

微信功能技巧

2021-07-09 10:02:32

AI Rap人工智能

2019-07-19 06:41:19

數據驅動數據分析數據決策

2009-09-14 08:23:21

Windows 7升級時間

2009-12-04 13:20:03

VS2005安裝

2023-05-10 10:35:14

服務器代碼

2015-01-22 17:38:53

京東移動技術峰會

2020-06-21 13:31:26

終端命令開發

2020-07-29 09:06:41

Shell終端工具

2009-11-30 15:21:38

Visual Stud

2020-03-25 11:27:56

薪資標準互聯網

2009-12-01 16:32:20

VS2003安裝步驟

2010-03-30 13:37:14

Nginx負載均衡

2018-06-20 09:35:43

碼農科技開發

2009-12-23 13:33:23

Fedora 8設備驅

2020-06-22 11:47:05

漏洞數據泄露網絡安全

2021-06-29 07:04:38

爬蟲代碼Python

2009-11-25 10:48:29

VS2003調試
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产特级毛片aaaaaa喷潮 | 欧美日韩国产精品一区二区 | 久久精品国产a三级三级三级 | 99精品在线 | 久久草在线视频 | 超碰97免费| 亚洲精品黑人 | 一本大道久久a久久精二百 国产成人免费在线 | 婷婷开心激情综合五月天 | 欧美中文字幕一区二区三区亚洲 | 国产日韩欧美在线 | 日韩av一区二区在线观看 | 国产精品99久久久久久www | 精产国产伦理一二三区 | 欧美日韩精品一区二区三区四区 | 九色91视频 | 99国产精品99久久久久久粉嫩 | 日日日干干干 | 精品视频亚洲 | 欧美日韩一区二区三区四区 | 久久久精彩视频 | 99久久99 | 国产福利视频 | 亚洲一区国产精品 | 龙珠z在线观看 | 国产免费一级片 | 奇米影视在线 | 男女黄网站 | 亚洲精品在线免费 | 婷婷色网 | 永久网站| 一区在线视频 | 一级黄色片一级黄色片 | 日韩福利在线观看 | 亚洲一区视频 | 精品成人在线观看 | 国产在线视频一区二区 | 理论片午午伦夜理片影院 | 亚洲一二三区精品 | 精品免费国产一区二区三区四区 | h视频在线免费观看 |