destroy()

Note: Translation in progress.

调用此方法可释放 Payment Element 组件占用的资源,并将 SDK 内部状态重置为调用 mount() 之前的状态。

组件资源释放后:

  • 已挂载的 Payment Element 将从页面中移除;
  • 与本次挂载相关的内部状态、事件监听器等会被清除;
  • 如需再次展示 Payment Element,需要重新调用 mount()

语法

调用此方法时,请使用以下标准语法格式:

copy
destroy()

参数

此方法无入参

返回值

此方法无返回值。

调用场景

注意以下为典型示例场景,并非完整列表。您可根据具体业务需求判断如何释放组件。

手动调用

在以下情况下,调用此方法来释放 SDK 组件资源:

  • 买家离开结账页面或切换视图时
    当买家离开当前收银台页面(例如跳转到其它业务页面、关闭收银台弹层)时,建议调用 destroy(),释放当前 mount() 创建的组件资源。
  • 重新创建 Payment Element 导致参数发生变化时
    当买家发起多次支付,且 Payment Element 配置(如 sessionData、可用支付方式、外观配置等)发生变化时,需要释放之前的 Payment Element 实例,然后使用新的参数重新调用 mount()
  • 切换到非 Payment Element 提供的支付方式时
    当 Payment Element 已挂载并渲染完成,但你需要切换到非 Payment Element 集成的支付方式(例如自研表单或其它独立组件),应先调用 destroy() 卸载当前的 Payment Element,再展示其它支付组件。

SDK 自动释放

在以下情况下 SDK 会自动释放资源:

  • 支付成功且无需跳转到结果页时
    当支付成功,并且流程配置为不跳转到独立结果页时,SDK 会在内部自动回收本次支付所占用的部分资源,将状态重置到调用 mount() 前。