Прокрутить элемент вниз в дротике

Я пытаюсь настроить прокручиваемый div, который автоматически прокручивается вниз, когда к нему добавляется новый контент. Я пробовал это:

this.ele.scrollTop = this.ele.offsetHeight;

this.ele.scrollTop = this.ele.scrollHeight;

Но div остается на вершине блаженно неподвижным. Что я делаю не так?


person SanMadJack    schedule 24.04.2014    source источник


Ответы (2)


Вероятно, это ошибка https://code.google.com/p/dart/issues/detail?id=18062, с которым вы столкнулись.

Тем временем обходной путь заключается в установке через dart: js (используя репродукцию из № 9):

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';
}
person Günter Zöchbauer    schedule 24.04.2014
comment
Ошибка исправлена ​​​​с тех пор. dart-js-interop больше не нужен. - person Günter Zöchbauer; 14.11.2014

Если желательна прокрутка вниз (а не прокрутка влево), то пример от Günter, вероятно, должен включать получение текущего значения scrollHeight и установку scrollTop соответственно:

    JSObject jsObject = new JsObject.fromBrowserObject(scrollableElement);
    int scrollHeight = jsObject['scrollHeight'];
    jsObject['scrollTop'] = '${scrollHeight}';
person Wilson Yeung    schedule 14.11.2014
comment
JSObject jsObject должно быть JsObject jsObject - person kelegorm; 23.02.2017