在sapui5中渲染后,自动增长文本区域的高度无效

问题描述 投票:0回答:1

我有自动增长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()触发的事件。

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

javascript textarea sapui5 autogrow
1个回答
1
投票

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

// Bug fix - invalidate TextAreas
window.setTimeout(function () {
    this.getView().byId("myTextAreaField").invalidate();
}.bind(this), 0);
© www.soinside.com 2019 - 2024. All rights reserved.