# # 动态显示/隐藏组件

## # 如何动态显示/隐藏组件

从 8.5.2 版本开始，Foxit PDF SDK for Web 提供了 3 个新的接口 (keepState, revokeKeepState, isStateKept)，以帮助用户动态显示/隐藏组件。keepState 是专门提供给应用层用于管理组件状态的方法，Web SDK 内部不会使用。当前，其仅对 show/hide 状态有效。用户可以先调用 show/hide 接口来控制组件的可见性，然后调用 keepState 接口来保持当前的可见性状态。使用 keepState 的目的是防止 SDK 内部在用户不确定的时机执行修改状态，从而让用户无法控制组件状态。

示例:

    const redactApplyMenu = await pdfui.getComponentByName('fv--contextmenu-item-apply');

    redactApplyMenu.hide(); // First hide component.
    redactApplyMenu.keepState(); // Keep the current hide state of the component, which prevents the component from being showed inside the SDK.
    // Revoke the keep-state when necessary.
    redactApplyMenu.revokeKeepState();