创建对话框时,会返回一个对话框实例 API。例如,const instanceApi = editor.windowManager.open(config);。对话框 API 实例也会传递给某些对话框配置选项。
实例 API 是一个 JavaScript 对象,其中包含附加到对话框实例的方法。当对话框关闭时,实例 API 会被销毁。
对话框数据和状态
所有对话框都有一个内部数据存储,用于跟踪对话框面板组件的值和/或状态。
此数据存储采用 JavaScript 对象的形式,其中对象的键是已配置面板组件的name。例如,如果一个对话框包含一个使用name: myCheckbox配置的复选框组件,且该复选框未被选中,则对话框的数据对象将包含{ myCheckbox: false }。
可以使用对话框实例 API 的getData()函数访问对话框数据存储的当前值。也可以使用setData()来设置,该函数会自动更新相关组件。例如,如果在前面的例子中调用setData({ myCheckbox: true }),复选框将切换为选中状态。
若要在对话框打开时为组件设置初始值,请使用initialData 对话框配置选项。例如,通过在对话框的配置中包含initialData: { myCheckbox: true },可以在前面的例子中将复选框设置为在对话框打开时处于选中状态。
对话框 API 方法
| 方法 | 描述 |
|---|---|
|
|
|
|
| 调用 |
| 调用 |
| 调用 |
| 调用 |
| 调用 |
| 调用 |
| 此方法仅适用于选项卡面板对话框。调用 |
Redial
Redial是一种概念,允许开发人员用新的配置替换对话框的配置。这可用于以下高级应用:
在对话框打开时以编程方式更改其中显示的信息。
根据用户操作更改面板组件。例如,根据用户对另一个交互式组件的输入更新
selectbox组件中的选项。创建一个多页面表单,其中一个按钮用于进入下一页。
若要重新设置对话框,请将新的对话框配置传递给对话框实例 API 的redial()方法。
目前,Redial 不支持部分对话框替换或特定组件的替换。必须向 Redial 传递整个对话框配置。
有关如何使用 Redial 的更多信息,请参阅redial 示例。