gpt4 book ai didi

css - Material-UI - 轮廓选择标签未正确呈现

转载 作者:行者123 更新时间:2023-12-03 23:39:10 25 4
gpt4 key购买 nike

根据演示,MUI 轮廓选择输入的标签应位于选择框的顶部边框的顶部。
enter image description here
但是,在我的应用程序中,标签的 z-index 似乎将其放置在顶部边框的后面,因此看起来像一条线穿过标签。
enter image description here
我几乎完全从文档中获取了代码,据我所知,没有任何与此输入元素冲突的样式。我已将调试器中的样式与我拥有的样式以及文档中的样式进行了比较,但我没有看到任何导致在元素上设置不同样式的第一方 CSS 文件。
知道这里可能出了什么问题吗?
这是源代码:

<FormControl variant='outlined' style={{ width: '100%' }} margin={'1'}>
<InputLabel id='test-select-label'>Label</InputLabel>
<Select
labelId='test-select-label'
id='test-select'
value={'test1'}
onChange={e => setTest(e.target.value)}
size='small'
>
<MenuItem key={1} value={'test'} >Test 1</MenuItem>
<MenuItem key={2} value={'test2'} >Test 2</MenuItem>
</Select>
</FormControl>

最佳答案

解决方案1:使用TextField这就是 TextField 的用途。它在内部对 uses FormControlInputLabel 进行处理,并确保它们能够很好地协同工作。您可以通过覆盖 TextField Prop 来告诉 select 渲染 input 而不是 select:

<TextField
value={value}
onChange={(e) => setValue(e.target.value)}
select // tell TextField to render select
label="Label"
>
<MenuItem key={1} value="test">
Test 1
</MenuItem>
<MenuItem key={2} value="test2">
Test 2
</MenuItem>
</TextField>
解决方案2:使用 Select如果您决定使用 Select ,则需要编写更多代码来完成相同数量的工作:
将标签文本作为 InputLabel 子项传递
<InputLabel id="test-select-label">Label</InputLabel>
当放置在 Select 内部和 FormControl 组件旁边时,此标签文本将在屏幕上呈现为 Select 标签。
将标签文本传递给 label 组件的 Select props
此标签文本是隐藏的,用于覆盖和删除 border-top 中当 Select 标签为 shrinked 时实际标签被占用的部分。
<Select labelId="test-select-label" label="Label">
把它放在一起,我们将有如下内容,请注意,使用这种方法,我们需要在 2 个不同的地方设置标签,这不是很 DRY,所以我更喜欢第一种方法。
<FormControl>
<InputLabel id="test-select-label">Label</InputLabel>
<Select
value={value}
onChange={(e) => setValue(e.target.value)}
labelId="test-select-label"
label="Label"
>
<MenuItem key={1} value="test">
Test 1
</MenuItem>
<MenuItem key={2} value="test2">
Test 2
</MenuItem>
</Select>
</FormControl>
现场演示
Edit 67064682/material-ui-outlined-select-label-is-not-rendering-properly

关于css - Material-UI - 轮廓选择标签未正确呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67064682/

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