1

私は厚紙を持っており、cardboard.getCards() を呼び出して表示されるカードのリストを取得します。

これらのカードのいくつかの色を更新したいので、カードを繰り返し処理し、更新したいカードが見つかったら次のようにします。

    var record   = card.getRecord();
    var newColor = '#ff0000';

    record.set('DisplayColor', newColor);

...しかし、それはカードを変更しません。ただし、beforecarddroppedsave イベントの結果として同じコードを呼び出すと、すぐに色が変わります。

少し実験して、これで record.set() 行に従えば解決策があります。

    this.outstandingUpdates++;
    record.save({callback: function() {
        if (--this.outstandingUpdates === 0) {
            this.cardboard.refresh();
        }
    }, scope: this});

...しかし、ボードが更新されるのを見るのはちょっと醜いです。これを行うには、 beforecarddroppedsave イベントから呼び出されたときのように動作するようにするためのより良い方法があるようです (そうでない場合は、コールバックを 1 つだけ持つだけです)。更新をカウントする代わりに)。

段ボール全体を更新する必要のない、これを行うためのより良い、見苦しくない方法はありますか?

4

1 に答える 1