无法更改反应选择元素的宽度

时间:2019-01-16 19:46:17

标签: javascript reactjs react-select

无论我做什么,我都无法更改选择内容的宽度。它始终保持不变,并带有一些默认宽度(例如约75像素)。

const Container = styled('div')`
  width: 100%;
  height: 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-around;
`;
const selectStyles = {
  valueContainer: base => ({
    width: 300,
  }),
  group: base => ({
    width: 300,
  }),
  container: base => ({
    width: 300,
  }),
  control: base => ({
    width: 300,
  }),
  singleValue: base => ({
    width: 300,
  }),
  input: base => ({
    width: 300,
    color: theme.palette.text.primary,
    '& input': {
      font: 'inherit',
    },
  }),
}

return (
  <SplitPane split='horizontal' defaultSize={260}>
    <Paper
      style={{ width: '100%' }}
    >
      <Container>
        <Select
          style={selectStyles}
          options={suggestions}
          value={this.state.channel}
          onChange={(value) => (this.setState({ channel: value }))}
        />

我在做什么错了?

2 个答案:

答案 0 :(得分:1)

似乎您实际上在寻找使flex-select宽度在flexbox设计中正常工作的方法(例如flex-growing),在这种情况下,请参考此reply,但简而言之,您可以使用以下样式:

const styles = {
  container: base => ({
    ...base,
    flex: 1
  })
};

<Select styles={styles} />

答案 1 :(得分:0)

您只是在styles组件内的道具名称style而不是Select上拼错了一个字母。