简体   繁体   English

Dojo2如何强制dojo 2小部件重新渲染?

[英]Dojo2 How to force dojo 2 widget to re-render?

I am using dojo2 widget. 我正在使用dojo2小部件。 I want to render the widget(VDOM) on form submit. 我想在表单提交上渲染小部件(VDOM)。

public submitFrom(input: any): void {
    console.log("want to re-render widget after this.");
}

In submitFrom I want re-render my dom. 在submitFrom中,我想重新渲染我的dom。

I got the solution. 我找到了解决方案。

Dojo 2 widgetbase has invalidate method, which force the widget to re-render. Dojo 2小部件库具有invalidate方法,该方法强制重新渲染小部件。 Dojo 2 Widgets can invoke invalidate() directly, however a non-widget can only emit an event with: this.emit({ type: 'invalidate' }) Dojo 2窗口小部件可以直接调用invalidate(),但是非窗口小部件只能通过以下方式发出事件:this.emit({type:'invalidate'})

public submitFrom(input: any): void {
  console.log("want to re-render widget after this.");
  // force the widget to re-render
  this.invalidate();
}

For non-widget need to do as follows:- 对于非小部件,请执行以下操作:

public submitForm(): void {
    this.emit({ type: 'invalidate' });
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM