【发布时间】:2017-08-25 08:30:33
【问题描述】:
我有带有自动增长 sap.m.TextArea 的 xml 视图
<TextArea value="{/abstract}" growing="true" growingMaxLines="100" maxLength="5000" rows="5">
...
</TextArea>
如果我输入了超过 5 行的足够大的文本,请保存并重新加载页面文本区域将呈现非常大的高度。如果我们尝试输入一些内容,文本区域会根据文本调整其高度。
经过小研究,我发现文本区域方法onAfterRendering 和oninput 使用方法_adjustHeight,该方法采用dom 元素并使用其属性scrollHeight 来计算高度。但是当它在onAfterRendering 中调用时,scrollHeight 是错误的。
我尝试触发输入事件,但文本区域中的输入处理程序跳过了由 jQuery().trigger() 触发的事件。
也许有人知道如何避免这种情况或已经遇到过这个问题?
【问题讨论】:
-
我们遇到了类似的问题,并通过覆盖文本区域溢出更新回调来修复它。不过我不能分享代码,所以如果你提供一个 jsfiddle 或类似的,我们可以处理它;)
-
@AshKander,据我了解,您编写了自己的控件来扩展 TexArea 并解决此问题,不是吗?我有想法使用
setTimeout(...)之类的东西,但我不确定它是否会有所帮助 -
不,我们在 sapui5 中捕获内部调整大小事件并覆盖控件的行为。恕我直言,文本区号内有问题,希望它会在当天修复:)
-
@AshKander 谢谢你的回答:)
标签: javascript textarea sapui5 autogrow