TAbulator addRow() вызывает неконтролируемую прокрутку сгруппированных строкJavascript

Форум по Javascript
Ответить
Anonymous
 TAbulator addRow() вызывает неконтролируемую прокрутку сгруппированных строк

Сообщение Anonymous »

Я создал таблицу с помощью Tabulator, содержащую несколько сотен строк, сгруппированных по определенному столбцу.
Я изменил свойство высоты со 100% на пиксели, чтобы включить виртуальный DOM, что повлияло на производительность, сделав сетку очень отзывчивой. .
Дело в том, что когда я добавляю строку в группу, содержимое неконтролируемо прокручивается.
единственное решение, которое я придумал, которое каким-то образом «работает», заключается в следующем: просто переносит вновь добавленную строку в в центре стола.
Табулятор версии 6.3.0 в последней версии Chrome
Есть идеи?
{
// Рассчитываем и устанавливаем точную позицию прокрутки
const tableHolder = table.element.querySelector(".tabulator-tableholder"); // Получаем контейнер прокрутки
const addRowElement = addRow.getElement(); // Получаем DOM-элемент добавленной строки

Код: Выделить всё

                if (tableHolder && addedRowElement) {
const rowPosition = addedRowElement.offsetTop; // Distance of the row from the top of the table
const holderHeight = tableHolder.offsetHeight; // Visible height of the table holder

// Center the row in the viewport
tableHolder.scrollTop = rowPosition - holderHeight / 2 + addedRowElement.offsetHeight / 2;

console.log("Scroll position adjusted for new row:", tableHolder.scrollTop);
} else {
console.error("Failed to adjust scroll position. Table holder or row element not found.");
}


Подробнее здесь: https://stackoverflow.com/questions/793 ... ouped-rows
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»