【问题标题】:How to display newline in TimelineItem control's text property?如何在 TimelineItem 控件的文本属性中显示换行符?
【发布时间】:2015-11-23 08:28:53
【问题描述】:

我们有一个 SAPUI5 时间线控件,我们在其中显示来自服务器的 cmets。

问题是,如果 cmets 包含换行符 \n,则 Timeline 控件无法在换行符中显示文本。相反,它会在出现\n 的任何地方引入空间。 我们也尝试将 \n 格式化为 unicode 字符,但这也没有用。 Timeline 控件聚合 TimelineItem。 我们使用的控件是:https://ui5.sap.com/#/api/sap.suite.ui.commons.TimelineItem

代码 sn-p 可以在以下位置找到: https://jsbin.com/kuluyehilu/edit?html,output

【问题讨论】:

标签: sapui5


【解决方案1】:

我检查了您的示例并提出了以下解决方案。

由于文本嵌入在<span> 中,所有不必要的空格都将被修剪。你可以做的是告诉 span(通过 CSS)它应该显示空白。

如果您的项目中还没有 CSS 文件,请创建一个。然后添加以下行

div.sapSuiteUiCommonsTimelineItemShellBody>span {
    white-space: pre;
}

这应该可以解决问题。

JSBin:https://jsbin.com/feladeneso/1/edit?html,output

【讨论】:

  • 这是实现换行的超级方法。根据文档 white-space: pre - 空白由浏览器保留。文本只会在换行符处换行。谢谢!
【解决方案2】:

如果你检查渲染的元素,你会看到它实际上被放入了中断:

<span id="__item0-realtext">x
y</span>

...但没有将其转换为&lt;br/&gt; 标记。您不能自己添加标签,因为它也会被转义。也许您可以尝试覆盖渲染器,并将任何换行符转换为 html 换行符

【讨论】:

  • 是的,我们在渲染元素中也观察到了同样的情况。您能否提供更多关于我们如何覆盖渲染器的详细信息。
  • 我自己还没有尝试过,但也许help.sap.com/saphelp_uiaddon10/helpdata/en/91/… 给出了一些指示
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-18
  • 1970-01-01
  • 1970-01-01
  • 2019-11-20
  • 2018-06-21
相关资源
最近更新 更多