Пользовательская привязка нокаута для jQuery UI Sortable - странное поведение
Я использую jQuery Sortable и Knockout для поддержки массива.
http://jsfiddle.net/daniel_white/KrGY8/3/
Обратите внимание, что при перетаскивании элементов они дублируются или исчезают.
Кто-нибудь знает, как я мог это исправить?
2 ответа
Отображение элементов в KO становится немного запутанным из-за пустых текстовых узлов, когда вы перемещаете вещи с помощью сортируемого пользовательского интерфейса jQuery.
Вы можете удалить текстовые узлы в вашем "шаблоне", например: http://jsfiddle.net/rniemeyer/KrGY8/5/
Или удалите существующий элемент и верните его в нужное место в два этапа (дважды обновив observableArray): http://jsfiddle.net/rniemeyer/KrGY8/4/
Я также написал связывающий плагин для работы с сортируемым jQuery в Knockout, который предоставляет некоторые дополнительные функции здесь: https://github.com/rniemeyer/knockout-sortable
Простой способ обойти эту проблему - сначала очистить ваш связанный observableArray, например так:
list([]);
Затем обновите его с правильным массивом:
list(actualArray);
Проверьте обновленную скрипку