Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何更改输入容器的样式_Javascript_Css_Sass_React Select - Fatal编程技术网

Javascript 如何更改输入容器的样式

Javascript 如何更改输入容器的样式,javascript,css,sass,react-select,Javascript,Css,Sass,React Select,我浏览了文档,似乎找不到任何方法来更改此输入容器样式 我可以更改输入react-select\uuu输入样式,但除非使用此特定类名,否则无法访问父级 唯一的其他方法是使用值container>div:last-child 但这只是个坏主意不,在这种情况下,我偶尔会更改组件 我很喜欢使用这个类名css-15n6m,但根据我目前的经验,它会随着软件包的每个版本而变化 你到底想做什么?出身背景利润率?宽度身高 你能举一个你想要达到的目标的例子吗 此外,您还可以将css直接添加到标记中,例如: <

我浏览了文档,似乎找不到任何方法来更改此输入容器样式

我可以更改输入react-select\uuu输入样式,但除非使用此特定类名,否则无法访问父级

唯一的其他方法是使用值container>div:last-child 但这只是个坏主意不,在这种情况下,我偶尔会更改组件

我很喜欢使用这个类名css-15n6m,但根据我目前的经验,它会随着软件包的每个版本而变化


你到底想做什么?出身背景利润率?宽度身高

你能举一个你想要达到的目标的例子吗

此外,您还可以将css直接添加到标记中,例如:

<div style="width:10px;height:20px;background-color:#b10000;"></div>

但是如果不引用类或id,您将无法单独更改标记元素的样式。

React Select使用EmotionJs进行样式设置,并且可以为任何内部组件传入覆盖样式。例如,我想覆盖菜单控件的基本样式。我可以提供一种方法:

const menuStyles = (base, state) => {
  const { menuIsOpen } = state.selectProps;
  let addons = {
    border: '1px solid #ccc',
    zIndex: 1000,
    marginTop: 0
  };
  if (menuIsOpen) {
    addons = Object.assign(addons, {
      borderTopLeftRadius: 0,
      borderTopRightRadius: 0,
      borderTop: 0,
      boxShadow: '0 4px 5px rgba(0, 0, 0, .15)'
    });
  }
  return Object.assign(base, addons);
};

// ...
<Select styles={{menu: menuStyles}} />
这需要玩一点游戏来真正弄清楚这一切,但有一个问题


注意:关键是,试图找出哪个组件是您真正想要设置样式的组件。输入组件不是HTML输入。与React Select一起使用的唯一控件是隐藏控件。最有可能的情况是,您正在尝试设置构成可视控件的许多容器元素之一的样式,例如SelectContainer、ValueContainer或MultiValueContainer。就像我说的,你必须玩一点,但你可以做到。这也有好处。

我正在尝试重置边距和填充,由于react-select正在创建自己的输入容器div,因此我无法应用这些内联样式。这只会更改容器的样式,可能包含react-select元素,而不是元素本身。您可以尝试覆盖输入本身的样式。与您案例中的react-select\uu输入类似。在这种情况下,这不起作用,因为我无法删除放置在容器上的填充,并且输入本身已经很小。您可以提供一些您所做的代码吗?使用此方法完全可以接受,并且在大多数情况下都可以工作。但具体来说,对于输入容器,根本没有办法对其进行寻址。使用输入样式将为react-select\u输入声明样式,但不会为container div css-15n6m声明样式。你知道,你是对的。React Select输入不是您所期望的。我会修正我的答案。