重新绑定智能图表,或刷新它
Rebind Smart Chart, or refresh it
我创建了一个包含三列的主从应用程序。第一个视图是 select 一个项目。第二个视图,select WBS 元素。第三个视图,它有一个基于第二个视图的 selected WBS 的智能图表。
到目前为止,第一次触发图表时它工作正常。问题是当我 deselect 一些 WBS 和 select 新的时。我找不到重新绑定图表或刷新第三个视图的方法(因此再次触发 onInit 或 onBeforeRendering)
一旦用户点击第二个视图顶部强调的图表按钮,当前就会创建图表。第二个视图的布局请不要关注,还在开发中
希望你能帮我找到一种方法来在 selected WBS 发生变化后刷新图表。
此致,
丁乔
您可以使用 EventBus。第一次加载图表视图后,EventBus 正在“侦听”。每次你 de/selecting 一个复选框时都会触发事件。
{ // Chart view controller
onInit: function() {
this.oEventBus = this.getOwnerComponent().getEventBus();
this.oEventBus.subscribe("Checkbox", "Selected", this.updateChart); // "Listener"
},
updateChart: function(channelId, eventId, data) {
// ...
},
}
{ // WBS view controller
onSelectWBSElement: function(oEvent) {
const oEventBus = this.getOwnerComponent().getEventBus();
oEventBus.publish("Checkbox", "Selected", {/*data*/});
},
}
我创建了一个包含三列的主从应用程序。第一个视图是 select 一个项目。第二个视图,select WBS 元素。第三个视图,它有一个基于第二个视图的 selected WBS 的智能图表。 到目前为止,第一次触发图表时它工作正常。问题是当我 deselect 一些 WBS 和 select 新的时。我找不到重新绑定图表或刷新第三个视图的方法(因此再次触发 onInit 或 onBeforeRendering)
一旦用户点击第二个视图顶部强调的图表按钮,当前就会创建图表。第二个视图的布局请不要关注,还在开发中
希望你能帮我找到一种方法来在 selected WBS 发生变化后刷新图表。
此致, 丁乔
您可以使用 EventBus。第一次加载图表视图后,EventBus 正在“侦听”。每次你 de/selecting 一个复选框时都会触发事件。
{ // Chart view controller
onInit: function() {
this.oEventBus = this.getOwnerComponent().getEventBus();
this.oEventBus.subscribe("Checkbox", "Selected", this.updateChart); // "Listener"
},
updateChart: function(channelId, eventId, data) {
// ...
},
}
{ // WBS view controller
onSelectWBSElement: function(oEvent) {
const oEventBus = this.getOwnerComponent().getEventBus();
oEventBus.publish("Checkbox", "Selected", {/*data*/});
},
}