我试图通过使用方法setPercentDone()来改变完成的百分比,但我发现它会改变组件的基础数据而不重新渲染它:
Ext.define('CustomApp', {
extend: 'Rally.app.App',
componentCls: 'app',
items: [{
xtype: 'rallypercentdone',
percentDone: 0.3,
listeners: {
render: function(cmp) {
console.log('cmp.getPercentDone()',cmp.getPercentDone());
cmp.setPercentDone(0.5);
console.log('cmp.getPercentDone()',cmp.getPercentDone());
}
}
}],
launch: function() {
//Write app code here
}
});
console:
cmp.getPercentDone() 0.3
cmp.getPercentDone() 0.5
但该组件仍显示30%
答案 0 :(得分:3)
PercentDone组件非常简单,并且不支持更改显示的百分比。有两种解决方法:
您可以销毁现有的并重新创建它:
this.down('rallypercentdone').destroy();
this.add({
xtype: 'rallypercentdone',
percentDone: 0.5
});
这在技术上很糟糕,因为您正在深入了解组件的实现,我们可能会在SDK的未来版本中对此进行更改,但在我看来,它也比完全销毁更好:< / p>
cmp.update(cmp.renderTpl.apply({ percentDone: 0.5 }));
我要记下,我们应该将这个组件更多地用于将来的发布。