首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有一种方法使DetailsList标题文本包装在Fluent UI中?

问是否有一种方法使DetailsList标题文本包装在Fluent UI中?
EN

Stack Overflow用户
提问于 2020-11-06 15:01:33
回答 1查看 4.6K关注 0票数 4

在这种情况下,我希望在FluentUI DetailsList中显示数据,在这种情况下,列名可能很长,而列内容可能非常狭窄。在这种情况下,头将被截断。看这段代码。

是否有任何方法可以更改此行为,例如头文本将覆盖多行?

虽然我在两年前找到了这个未回答的问题,但无论是在Stackoverflow、Github还是官方文档上,我都找不到关于这个主题的答案。以下是我尝试过的一些方法:

  • 通过word-break: break-all;的headerClassName字段注入CSS类
  • 在列上设置isMultiLine
  • 我可以用DetailsHeader重写呈现的onRenderDetailsHeader组件本身似乎没有提供任何支持来自定义文本的显示方式。

是否有一种方法可以实现所需的行为(将多行括起来而不是截断长列标题)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-09 21:27:15

大多数FluentUI Components使用text-overflow: ellipsis。你能做的就是修改这个“规则”。在DetailsList中,您有onRenderDetailsHeader方法,它允许您更改标头样式。

代码语言:javascript
复制
const onRenderDetailsHeader = (headerProps, defaultRender) => {
    if (!headerProps || !defaultRender) {
        //technically these may be undefined...
        return null;
    }
    return defaultRender({
        ...headerProps,
        styles: {
            root: {
                selectors: {
                    '.ms-DetailsHeader-cell': {
                        whiteSpace: 'normal',
                        textOverflow: 'clip',
                        lineHeight: 'normal',
                    },
                    '.ms-DetailsHeader-cellTitle': {
                        height: '100%',
                        alignItems: 'center',
                    },
                },
            },
        },
    })
}

<DetailsList
  ...
  onRenderDetailsHeader={onRenderDetailsHeader}
/>

Codepen工作溶液

注意:

玩minWidth,maxWidth道具在this._columns里面,以获得预期的行为。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64716971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档