2012-04-03 1 views
0

Я играл с YUI3 3.5pre5 DataTables и реализовал большую разницу в реализации (от YUI2).DataTables в YUI3 обновляется при каждом обновлении/изменении данных

При использовании addRow(), modifyRow() and set() вся таблица перезагружается/перерисовывается/обновляется вместо затронутых элементов.

Например, при добавлении строки вся таблица перерисовывается вместо новой строки (например, в YUI2).

Это настоящая проблема, если у вас много данных, и все перерисовано из-за обновления некоторой ячейки. Или если вам нужно обновлять данные каждые x секунд, таблица будет постоянно обновляться, что затрудняет работу.

Надеюсь, что я делаю это неправильно и есть способ сделать это или обходным путем.

Пожалуйста, дайте мне знать, если есть способ правильно вести работу с новыми DataTables.

Спасибо!

ответ

0

Вы не делаете это неправильно; это текущее состояние кода. Я буду оптимизировать мутацию данных -> UI в 3.6.0, и, как и во время 3.5.0, я буду поддерживать модуль предварительного просмотра в галерее с последними обновлениями и функциями.

Было много улучшений производительности, которые я хотел получить в 3.5.0, которые я просто не мог вместить из-за архитектуры и миграции функций из 3.4.1.

В то же время, вот патч, который должен помочь: https://gist.github.com/2295032

Примечание, это не совместимо с nodeFormatters, и может иметь другие случаи края.

+0

Спасибо за ваш быстрый ответ! Патч определенно помогает при добавлении строк. Тем не менее, при обновлении одной ячейки вся строка обновляется. Как вы думаете, будет ли полная реализация YUI2 для версии 3.6.0? – Jonathan

+0

Изоляция к ячейке не будет записывать изменения в столбцы, которые ссылаются на значение из форматировщиков. Почему так важно ограничить обновление только для ячейки? – Luke

+0

Мы разрабатываем финансовое приложение для акций, где значения обновляются каждую секунду. Внутри таблицы в каждой строке есть также кнопки, флажки, флажки и входы, где пользователь может изменять/обновлять/вставлять значения. Если пользователь каким-то образом взаимодействует с данными, когда строка обновляется/перерисовывается, он потеряет данные на входах, «фокус» на выборных ящиках и т. Д. И т. Д., Также некоторые события могут «не срабатывать» ... Это почему я думаю, что очень важно изолировать данные как можно больше. – Jonathan

Смежные вопросы