我遇到一种情况,我想在FluentUI DetailsList中显示数据,其中列名可能很长,而列内容可能很狭窄。在这种情况下,标头将被截断。 See this codepen。
是否有任何方法可以更改此行为,以使标题文本换行?
两年前我发现this unanswered question时,找不到关于Stackoverflow,Github或官方文档的答案。 这是我尝试过的一些方法:
word-break: break-all;
的{{1}}字段向headerClassName
注入CSS类IColumn
isMultiLine
覆盖的DetailsHeader
组件本身似乎没有提供任何自定义文本显示方式的道具是否甚至有一种方法可以实现所需的行为(包装多行而不是截断长列标题)?
答案 0 :(得分:0)
FluentUI Components
中的大多数使用text-overflow: ellipsis
。您可以做的就是修改该“规则”。在DetailsList
内部,您可以使用onRenderDetailsHeader方法来更改标题样式。
<DetailsList
...
onRenderDetailsHeader: (headerProps, defaultRender) => {
return defaultRender({
...headerProps
styles: {
root: {
selectors: {
'.ms-DetailsHeader-cell': {
whiteSpace: 'normal',
textOverflow: 'clip',
lineHeight: 'normal',
},
'.ms-DetailsHeader-cellTitle': {
height: '100%',
alignItems: 'center',
},
},
},
},
})
}
/>
注意:
在minWidth
内玩maxWidth
,this._columns
道具来获得预期的行为。