当前位置:  开发笔记 > 编程语言 > 正文

使用React和Material UI禁用自动填充表单

如何解决《使用React和MaterialUI禁用自动填充表单》经验,为你挑选了1个好方法。

我正在尝试学习React和Material UI.

我正在创建一个Web表单,到目前为止一切都很好,除非页面加载时,chrome自动用以前存储的数据填充文本字段,背景变为黄色.我该如何保持白色?

我知道在普通的CSS中我会包含这段代码:

input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px white inset;
}

然而,考虑到这一点,我不一定有样式表,这就是一个问题.

我到目前为止:

const MyAwesomeReactComponent = React.createClass({
const containerStyle = 
    {
      /* input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px white inset;
          } */
    };
 return (
      
}); module.exports = MyAwesomeReactComponent;

我在解析input-webkit-autofill代码时遇到语法错误.



1> DaxChen..:

如果你想在javascript中编写css,你必须将dashed-key-words转换为camelCaseKeys

例如:

background-color => backgroundColor

border-radius => borderRadius

但供应商前缀以大写字母开头(除外ms)

-webkit-box-shadow=> WebkitBoxShadow(大写W)

-ms-transition=> msTransition('ms'是唯一的小写供应商前缀)

有关更多详细信息,请参阅react #inline-styles部分

所以在你的例子中:

const containerStyle = {
  WebkitBoxShadow: '0 0 0 1000px white inset'
};

现在,因为内联样式直接附加在标签上而不是使用选择器,我们必须将此样式放在标签本身而不是容器上.

要覆盖样式,请使用此处记录的inputStyle道具

编辑: 但这样做,你将丢失提示文本,因为它将被盒阴影覆盖.添加z-index提示文本可以解决这个问题!

所以最后你的例子将是这样的:

const hideAutoFillColorStyle = {
  WebkitBoxShadow: '0 0 0 1000px white inset'
};
const hintStyle = { zIndex: '1' };


注意:反应内联样式有一些限制,例如@media查询.要解决这个问题,您可以使用

谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有