我想创建一个ExpansionPanel
,其中的摘要可能是一个很长的不间断字符串(即:即没有连字符,没有空格)。
当我试用它时,ExpansionPanelSummary
组件在窄宽度显示器上显示不佳-它覆盖了按钮并溢出屏幕。
下面是我的例子,从ExpansionPanel Material-UI演示中派生出来,缩小输出帧的宽度,你可以看到电子邮件地址没有换行,看起来很难看:https://codesandbox.io/s/wqm5k3vmyw
我试过在Typography
上使用nowrap
来剪辑它(我的首选解决方案):
<ExpansionPanelSummary expandIcon={<ExpandMoreIcon />}>
<Typography nowrap className={classes.heading}>
areallyreallylongaddress@email.example.com
</Typography>
</ExpansionPanelSummary>
我还尝试添加一个样式overflowWrap: "break-word"
来强制它在任何地方换行,而不仅仅是连字符或空格。
我所能做的最好的事情就是通过将style={{ textOverflow: "ellipsis", overflow: "hidden" }}
添加到ExpansionPanel
中,使文本不会溢出到扩展面板本身之外(参见链接示例中的第二个示例)。
理想情况下,我希望它的功能是从上下文的右侧截断,显示省略号,而不是覆盖展开图标。
如何使用ExpansionPanel
?
如果不行,我怎么能强迫它自动换行呢?
我使用的是Material-UI v3。这个问题在Chrome和Firefox上都是可见的。
6条答案
按热度按时间ybzsozfc1#
官方文档:https://material-ui.com/api/typography/
noWrap:如果为true,则文本不会换行,而是使用文本溢出省略号截断。请注意,文本溢出只能发生在块或内联块级别的元素中(元素需要有宽度才能溢出)。
注意'noWrap'中的大写'W'。
tcomlyy62#
建议你用一个div Package 你的Typography元素,这个div的样式是textOverflow:“省略号”,例如:
hc8w905p3#
我是这样解决的:
不要将样式应用于
ExpansionPanelSummary
组件本身,而是将其应用于“内部内容”。bt1cpqcv4#
要在材质/ MUI按钮内换行(* 不 * 用椭圆截断)文本,请执行以下操作:
width: '11rem'
将保持按钮的宽度一致,以适应不同的文本大小,但没有它的话仍然会换行(但不一致的文本宽度)。fontSize
sx helper可以方便地根据屏幕宽度缩小文本。u3r8eeie5#
〈Box component=“div”wordWrap:'break-word!important' width=' 80%'} lineHeight='1.Lorem,ipsum dolor sit amet consectetur adipisicing elit.
x7yiwoj46#
如果你想将文本换行,请用途:-