我有一个纸板,我通过调用得到一张卡片列表: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 事件中调用时一样(如果不是这样,只有一个回调而不必计算更新)。
有没有更好、不那么难看的方法,不需要刷新整个纸板?