使用 Tauri + React 开发 MinApi(http api接口测试工具) 时,在 Mac 系统中遇到一个很奇怪的问题:在 input 输入框中输入内容时,如果输入的是全小写英文字母,会自动将首字母转换为大写
,效果如下图所示。
问题定位
经过排查,得知 Tauri 在 Mac 系统中默认使用 Safari
的内核 WKWebView
作为渲染引擎,而 Safari
浏览器的一些 “人性化” 机制:如果输入框中输入的是全小写英文,会自动将首字母转换为大写。
因此,我只需要禁止这个默认的行为,即可解决这个问题。
解决方案
在 Antd Input 组件中添加 autoCapitalize
、spellCheck
、autoComplete
、autoCorrect
等属性就能完美解决首字母自动转大写的问题。
const disabledAutoCapitalize = {spellCheck: false,autoComplete: 'off',autoCorrect: 'off',autoCapitalize: 'off',
}const Com = () => {return (<div className="box"><Input {...disabledAutoCapitalize} />{/* other code*/}</div>)
}export default Com
参考文档:
- https://github.com/tauri-apps/tauri/discussions/7635
欢迎访问:天问博客