gpt4 book ai didi

reactjs - 多选标签被输入字段的轮廓划掉

转载 作者:行者123 更新时间:2023-12-03 14:06:47 25 4
gpt4 key购买 nike

我使用 Material-UI 制作了一个多选列表。但是,当我选择一个项目时,标签应该缩小并适合输入字段的轮廓。问题是轮廓保持不变,而标签在其后面缩小。

我尝试在 Material-UI 文档中寻找解决方案。似乎没有任何多重选择列表概述变体。所以我想知道这是否是因为多重选择列表没有概述的变体,或者是由于其他原因。

<FormControl
variant="outlined"
fullWidth
>
<InputLabel
ref={ref => {
this.InputLabelRef = ref;
}}
htmlFor="members"
error={this.props.touched.members && Boolean(this.props.errors.members)}
>
Members
</InputLabel>
<Select
onChange={this.change.bind(null, "members")}
multiple
value={this.state.members}
error={this.props.touched.members && Boolean(this.props.errors.members)}
input={
<OutlinedInput
labelWidth={0}
name="members"
id="members"
/>
}
>
<MenuItem value={'Baspa'}>Baspa</MenuItem>
<MenuItem value={'Plorky'}>Plorky</MenuItem>
<MenuItem value={'Rizzels'}>Rizzels</MenuItem>
</Select>

我还制作了一个CodeSandBox: https://codesandbox.io/s/jnlx1vky39

它是这样的:

Picture of the form

/image/1ZIgc.jpg

最佳答案

您缺少文档中显示的几部分,这些部分允许轮廓知道标签宽度:

  componentDidMount() {
this.setState({
labelWidth: ReactDOM.findDOMNode(this.InputLabelRef).offsetWidth
});
}
...
<OutlinedInput labelWidth={this.state.labelWidth} name="members" id="members" />

完整代码如下:

Edit r1r9wxmljo

关于reactjs - 多选标签被输入字段的轮廓划掉,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53916720/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com