Управление JQueryUI Сортируемый в TypeScript - PullRequest
3 голосов
/ 18 апреля 2019

Я пытаюсь использовать метод JQueryUI Sortable (версия 1.12.1) в TypeScript (версия 3.2.1).Обычно это был относительно простой опыт, но я столкнулся с проблемой, пытаясь реализовать опцию Sortable Widget helperTypeScript мой код выглядит следующим образом:

$('.connected-sortable').sortable({
    connectWith: '.connected-sortable',
    delay: 150,
    helper: (evt: Event, item: JQueryUI.Sortable) => {
        // How can I work with the JQueryUI.Sortable object?
        // I really want a JQuery<HTMLElement> or even a 
        // plain Element as I want to do manipulate it.

        // The following fails:
        // Property 'hasClass' does not exist on type 'Sortable'
        item.addClass('selected');
    }
});

Я хочу иметь возможность доступа к объекту JQueryUI.Sortable как с JQuery<HTMLElment> или даже простым Element, но яне может найти способ конвертировать / получить доступ к базовому элементу.Для справки, мой код работает на простом старом JavaScript, так как он основан на этой Fiddle .

Может кто-нибудь указать мне правильное направление?Благодаря.

1 Ответ

0 голосов
/ 10 июня 2019

Вы нацеливаете на сортируемый объект, используя ui.item.

В сортируемой функции start вы можете добавитьClass, а при остановке удалитьClass;

$('.connected-sortable').sortable({
  connectWith: '.connected-sortable',
  delay: 150,
  helper: (evt: Event, item: JQueryUI.Sortable),
  start: function(event,ui) {
    ui.item.addClass('selected');
  },
  stop: function(event,ui) {
    ui.item.removeClass('selected');
  }
});
...