Material-ui v1标签标签包装错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Material-ui v1标签标签包装错误相关的知识,希望对你有一定的参考价值。

使用Material UI @next v1.0.0 beta 32:


选项卡标签在较小的设备上按预期包装。

但是包装使它们改变了字体大小,反过来,在一些屏幕宽度中,不需要包装文本。

所以我最终得到了这个:带有非包装标签和不同字体大小的标签。

沙箱示例:https://codesandbox.io/s/o7worrr32q

为了看到所描述的结果,使窗口足够窄以至少包含1个标签标签,但不是全部。

我用这种方式覆盖了包裹的样式:

<Tab
  value={value}
  label='my label'
  classes={{
     root: classes.tab,
     rootPrimarySelected: classes.selected,
     labelWrapped: classes.labelWrapped
  }}
/>

和我的风格:

 labelWrapped: {
   fontSize: '0.875rem'
 },

this gif animation中说明的问题是,当您单击其他选项卡时,文本会另外包装和展开,看似没有理由。

我的猜测是填充在某处发生变化,但我无法弄明白。

答案

这比我想到的更容易:

我只需要使用MUI提供的css覆盖labelWrapped,如the MUI API中所述:

<Tab
   aria-label="aria description"
   label="Wrapping Label"
   icon={<Icon />}
   value={x}
   classes={{
      root: classes.root,
      labelContainer: classes.labelContainer,
      rootInheritSelected: classes.rootInheritSelected,
      labelWrapped: classes.labelWrapped,
   }}
   component={Link}
   to={{
     pathname: '/my/router/url',
     search: this.props.location.search,
   }}
/>

和我最重要的风格:

const styles = theme => ({
  root: {
    minWidth: 60,
    height: '100%',
    color: 'rgba(255,255,255,0.5)',
    alignItems: 'flex-start',
    paddingBottom: 5,
    wordWrap: 'break-word',
    flex: 1,
    overflowWrap: 'break-word',
    textAlign: 'center',
  },
  labelContainer: {
    paddingLeft: 0,
    paddingRight: 0,
  },

  rootInheritSelected: {
    color: '#FFF',
  },
  labelWrapped: {
    fontSize: '0.875rem',
  },
})

以上是关于Material-ui v1标签标签包装错误的主要内容,如果未能解决你的问题,请参考以下文章

Material-UI 表格标签中的 Formik

如何在反应中更改material-ui Textfield标签样式

如何在 Material-ui 中的 onFocus 上隐藏 Autocomplete 的标签?

React中Material-Ui中增加标签的问题

material-ui makeStyles:如何按标签名称设置样式?

在溢出之前包装不同长度的元素 X 次