react-select 中的选项框宽度大小变化

Option box width size change in react-select

我想更改 react-select 选项框的宽度。 这里的例子=>

如果我的内容大于选项,它会显示水平滚动,但我不想要水平滚动。如何更改选项框宽度的大小?

另一件事是如何将 selected 值显示为 CscID,一个偶数选项框显示 CscID + CscDesc?现在,当我 select 选项时,它的 CscID + CscDesc 显示在 selected 框中。

这是我的 Select =>

const formatOptionLabel = ({ CscID, CscDesc }) => (

            <div style={{ display: "flex"}}>
                <div>{CscID}</div>                
                <div>{CscDesc}</div>
            </div>
            );

const customStyles = {
                control: styles => ({ ...styles, }),
                option: (styles) => {

                  return {
                    ...styles,

                   width: '10000px',  //For testing                 

                  };
                },

              };

<Select 
        styles={customStyles} 

            formatOptionLabel={formatOptionLabel}
            getOptionValue={option =>
                `${option.CscID}`
              }
            options={datasource}            

        />

您通常不会更改用例中环绕元素的宽度。由于文本限制可以是任意的,因此您不会根据文本设置 select 的宽度,而是根据您的 select 的宽度设置文本。这意味着 select 将具有固定宽度,超过固定宽度的文本必须通过 css 转换为省略号,如

.options-select {
     overflow: ellipsis
}

悬停时的省略号必须在工具提示中显示全名,以获得更好的用户体验。

关于调整大小的问题,您可以参考现有的答案:

对于第二个问题,我认为使用react-Select是不可能的。

如果你去github进一步查看react-Select的源代码,你可能会发现值属性的ValueType应该与OptionsType相同选项。

是的,我可以编辑选项框的宽度。

const customStyles = {
                control: styles => ({ ...styles,                 

                }),
                option: styles => ({ ...styles,                 

                }),
                menu: styles => ({ ...styles,                 
                 width: '500px'
                })                 

              };

根据文档,它叫做菜单。如果您想更新其他样式,请查看此处=> Style Keys

这个选项对于检查菜单框非常有帮助=> menuIsOpen={true}