0

我有自动增长 sap.m.TextArea 的 xml 视图

<TextArea value="{/abstract}" growing="true" growingMaxLines="100" maxLength="5000" rows="5">
    ...
</TextArea>

如果我输入了超过 5 行的足够大的文本,请保存它并重新加载页面文本区域将以极高的高度呈现。如果我们尝试输入一些东西,文本区域会根据文本调整其高度。

经过小的研究,我发现文本区域方法onAfterRenderingoninput使用方法_adjustHeight采用 dom 元素并使用其属性scrollHeight来计算高度。但是当它被调用时onAfterRendering是错误的scrollHeight

我试图触发输入事件,但文本区域中的输入处理程序跳过了由 jQuery().trigger() 触发的事件。

也许有人有想法如何避免这种情况或已经面临这个问题?

4

1 回答 1

1

我在导航到带有 TextArea 和新绑定的视图时遇到了同样的问题(1.44.8)。所以作为一个完整的黑客修复,这似乎在导航到视图期间工作(基本上在渲染完成后放置一个无效):

// Bug fix - invalidate TextAreas
window.setTimeout(function () {
    this.getView().byId("myTextAreaField").invalidate();
}.bind(this), 0);
于 2018-09-17T02:22:42.663 回答