欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

Mac 上的 Safari 有一个非常奇怪的问题:在输入框中输入所有小写字母时,第一个字母会自动转换为大写字母。

最编程 2024-10-10 07:00:57
...

问题原因

在 Mac 系统中默认使用 Safari 的内核 WKWebView 作为渲染引擎,而 Safari 浏览器的一些 “人性化” 机制:如果输入框中输入的是全小写英文,会自动将首字母转换为大写。

解决办法

我只需要禁止这个默认的行为,即可解决这个问题。在 input 组件中添加 autoCapitalize 、spellCheckautoCompleteautoCorrect 等属性就能完美解决首字母自动转大写的问题。

autocomplete="off"
autoCapitalize="off"
autoCorrect="off"
spellCheck="false"

因为我用的elementui,所以我的是el-input标签,其实和input标签一样

如果是AntdUI的话,也可以这样:

const disabledAutoCapitalize = {
  spellCheck: false,
  autoComplete: 'off',
  autoCorrect: 'off',
  autoCapitalize: 'off',
}

const Com = () => {
  
  return (
    <div className="box">
	    <Input {...disabledAutoCapitalize} />
      {/*  other code*/}
    </div>
  )
}

export default Com

推荐阅读