destroy()

调用此方法可释放 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() 前。