She*_*ock 2 knockout.js knockout-sortable
我使用knockout-sortable.js让用户拖放项目给他们一个不同的顺序,但是当我在我的页面上有多个"drop zone"时,我遇到了问题.我有嵌套集,所有这些集都是可排序的,但不可互换.
我的代码:
<div class="sortable" data-bind="sortable: blueprint.pages">
<tr><td>Blabla</td></tr>
</div>
Run Code Online (Sandbox Code Playgroud)
在其他一些方面:
<div class="sortable" data-bind="sortable: selectedPage().page_sections">
<tr><td>Another blabla</td></tr>
</div>
Run Code Online (Sandbox Code Playgroud)
我现在可以将'Another blabla'拖放到'Blabla'中,导致错误.我怎样才能防止这种情况发生?
小智 9
有几种方法可以解决这个问题.第一种是将connectClass传递给knockout-sortable为false或null(或者表示为布尔值时等于false的任何东西):
<div class="sortable" data-bind="sortable: { data: blueprint.pages, connectClass: false }">
<tr><td>Blabla</td></tr>
</div>
<div class="sortable" data-bind="sortable: { data: selectedPage().page_sections, connectClass: false }">
<tr><td>Another blabla</td></tr>
</div>
Run Code Online (Sandbox Code Playgroud)
您还可以将包含选项传递给jQuery:
<div class="sortable" data-bind="sortable: { data: blueprint.pages, options: { containment: 'parent' } }">
<tr><td>Blabla</td></tr>
</div>
<div class="sortable" data-bind="sortable: { data: selectedPage().page_sections, options: { containment: 'parent' } }">
<tr><td>Another blabla</td></tr>
</div>
Run Code Online (Sandbox Code Playgroud)
与第一种解决方案不同,这将阻止物品在视觉上离开盒子(如果这是您的愿望).
| 归档时间: |
|
| 查看次数: |
2081 次 |
| 最近记录: |