【问题标题】:How to fix Material-UI Select w/ MenuItem where MenuItem being rendered horizontally?如何修复 Material-UI Select w/MenuItem,其中 MenuItem 水平呈现?
【发布时间】:2021-11-25 09:14:54
【问题描述】:

我一直在使用带有 React/Next.js 的 Material-UI,但我遇到了一个奇怪而持久的错误。我无法让<Select> 呈现常规的垂直下拉菜单。如何让<MenuItem>s 垂直渲染?

我搜索了文档,但找不到任何东西。还值得注意的是,我的代码与示例几乎相同:

render (
    <div>
        <FormControl
            fullWidth
            style={{
            paddingBottom: formError
                ? `${paddingBeneathFormControls}px`
                : `${paddingBeneathFormControls + 22}px`,
            }}
        >
            <InputLabel id="demo-simple-select-label">Age</InputLabel>
            <Select
            className="test"
            labelId="demo-simple-select-label"
            label="Age"
            value={10}
            >
            <MenuItem value={10}>Ten</MenuItem>
            <MenuItem value={20}>Twenty</MenuItem>
            <MenuItem value={30}>Thirty</MenuItem>
            </Select>
            {formError && (
            <FormHelperText error>
                Please enter a valid value.
            </FormHelperText>
            )}
        </FormControl>
    </div>
)

【问题讨论】:

  • 如果你去掉 FormControl 上的额外样式,会有什么不同吗?
  • 下拉列表使用ulli 标签呈现。您是否有一些全局 css 会影响 ulli 标签的样式?也许格式化一个水平导航栏或其他什么?
  • @smac89 - 很好,但不幸的是它没有帮助。仍然水平渲染。
  • @ShawnFlahave 这也是一个很好的观点,但没有代码触及uili...

标签: reactjs material-ui next.js


【解决方案1】:

对其他人来说可能会有一些意想不到的副作用,但我找到了解决问题的方法。我使用的是 @mui/material 库,我认为它是更现代的版本——他们说 NASA、Netflix、Spotify 和其他人使用这个库。我只是将导入更改为@material-ui/core,它公开了我使用的相同元素(SelectMenuItemFormControlFormHelperTextInputLabelTextField)。我不完全确定这两个库的不同之处,但在我的情况下,只需切换即可使我的所有代码正常工作。

值得注意的是,使用这两者会增加一些冲突的样式行为 - 我最初尝试只从 @material-ui/core 借用 SelectMenuItem 组件,但是当我导入该库时,它破坏了 @987654335 的组件样式@组件。

【讨论】:

  • @mui/material 是 mui v5 使用的命名空间,@material-ui/core 是之前使用的命名空间。您似乎没有正确包含 mui v5 及其所有 dependencies,或者您实际上使用的是该库的早期版本。请参阅migration guide 了解如何迁移到 v5。还要确保您在从库中导入组件时遵循正确的guide,或者使用可用的选项之一
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-24
  • 2019-11-13
  • 2017-05-28
相关资源
最近更新 更多