我正在尝试设置一个可滚动的div,当添加新内容时会自动滚动到底部。我试过这些:
this.ele.scrollTop = this.ele.offsetHeight;
this.ele.scrollTop = this.ele.scrollHeight;
但是div仍然在顶部保持着幸福。我做错了什么?
答案 0 :(得分:2)
这可能是你遇到的这个错误https://code.google.com/p/dart/issues/detail?id=18062。
同时解决方法是通过dart:js设置(使用#9中的repro):
import 'dart:html';
import 'dart:js';
void main() {
var ta = new TextAreaElement();
ta.wrap = "off";
document.body.children.add(ta);
ta.text = "abcde 01234 (1) abcde 01234 (2) abcde 01234 (3) abcde 01234 (4) "
"abcde 01234 (5) abcde 01234 (6) abcde 01234 (7) abcde 01234 (8) ";
new JsObject.fromBrowserObject(ta)['scrollLeft'] = '200';
}
答案 1 :(得分:1)
如果需要滚动到底部(而不是向左滚动),那么Günter的示例应该包括获取当前的scrollHeight并相应地设置scrollTop:
JSObject jsObject = new JsObject.fromBrowserObject(scrollableElement);
int scrollHeight = jsObject['scrollHeight'];
jsObject['scrollTop'] = '${scrollHeight}';