在sapui5

时间:2017-08-25 08:30:33

标签: javascript textarea sapui5 autogrow

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

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

如果我输入足够大的文本,需要超过5行保存并重新加载页面文本区域将呈现极高的高度。如果我们尝试键入某些文本区域,则会将其高度调整为文本。

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

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

也许某人有想法如何避免这种情况或已经遇到过这个问题?

1 个答案:

答案 0 :(得分:1)

导航到具有TextArea和新绑定的视图时,我只是遇到相同的问题(1.44.8)。因此,就目前而言,作为一个完整的黑客修复程序,这似乎在导航至视图的过程中起作用(基本上是在渲染完成后放置一个无效对象):

// Bug fix - invalidate TextAreas
window.setTimeout(function () {
    this.getView().byId("myTextAreaField").invalidate();
}.bind(this), 0);