【问题标题】:Angularjs ui-select2 does not render on drag drop with ui-sortable in ng-repeatAngularjs ui-select2 不会在 ng-repeat 中使用 ui-sortable 拖放时呈现
【发布时间】:2026-01-15 04:55:02
【问题描述】:

我在 Angular js 中使用 ui.select2 和 ui.sortable 时遇到了问题。这是 plunkr 演示它http://plnkr.co/edit/dxM6r6IInN7goXYPmqrl?p=preview

这里 select2 在页面加载时完美呈现,但是当我拖放列表中的元素时,ui-select2 不再呈现。

【问题讨论】:

    标签: jquery angularjs jquery-ui ui-select2


    【解决方案1】:

    ui.select2 监听 $destroy 事件:

    elm.bind("$destroy", function() {
      elm.select2("destroy");
    });
    

    显然这个事件是在重新排序后触发的(这不应该发生)。

    幸运的是,这个问题似乎已通过使用最新版本的 angular-ui-sortable 得到解决。这是修改后的 plunkr,按预期工作:http://plnkr.co/edit/nSZIZNsrHX0KBppYbYoF?p=preview

    【讨论】:

    • 虽然效果很好,但有一个问题。我无法从 select2 中选择值