0

リストにアイテムを追加すると([シリーズの追加]ボタンをクリックして)、リストが正しく並べ替えられなくなります。EG「シリーズの追加」ボタンをクリックしてから、「seriesname232」をアイテム「trrde」と「1」の間で移動しようとすると、必要以上に1つ下に移動します(「1」の下)。これは、ソート可能なリストに何かが追加されたことを考慮していないためだと思います。以下に例を示します。

http://jsfiddle.net/thebassix/yTAXh/

<div id="results">
            ---Hidden---
            <ul id="hidden" data-bind="sortable: { data: hiddenSeries, afterMove: hide}">
                <li data-bind="visible: Hidden, text: Name"></li>
            </ul>

    ---Unhidden---         
            <ul id="unhidden" data-bind="sortable: { data: unhiddenSeries, afterMove: unhide}">
                <li data-bind="visible: !Hidden(), text: Name"></li>
            </ul>
</div>
<hr/>
<div>All</div>
<ul data-bind="foreach: series">
    <li>
        <span data-bind="text: Name"></span> - 
        (<span data-bind="text: Hidden"></span>)
    </li>
</ul>
<input id="btnAddSeries" data-bind="click: addSeries" title="Add Series" class="ews_button" type="button" value="Add Series" />
4

1 に答える 1

0

問題は、Series追加しているオブジェクトが_destroy観測可能であることです。通常、_destroyは通常のプロパティであり、destroyKO セットの機能はそれを通常のプロパティとして設定します。

したがって、次のようにコンストラクター_destroyでオブザーバブルを作成しない場合、問題は修正されます。Series

self._destroy = data._destroy;

更新されたサンプル: http://jsfiddle.net/rniemeyer/63rup/

さらに、とにかくアンラップするプラグインに修正を追加したので、これは問題にはなりませんでした.sortable_destroy

于 2013-01-11T04:34:09.733 に答える