Skip to content

[API] Popper 的 onlyShowTrigger 名不符实:实际语义是「popper 显示之后不再隐藏」 #1026

Description

@wanchun

问题

FPopper 的 onlyShowTrigger 属性名容易被理解为「只渲染触发器(不渲染 popper 内容)」,但实际语义是「popper 一旦显示就不再隐藏」——hide() 中直接 return:

// components/popper/useTrigger.ts
const hide = () => {
    const setHide = () => {
        if (props.onlyShowTrigger) {
            return;   // 显示后不再隐藏
        }
        ...

建议

  1. 改名为语义准确的 keepVisible / persistent(保留旧名兼容一个版本并告警);或
  2. 在文档中显著说明实际行为,避免误解。

使用方影响

TimePicker 等组件内部已使用该属性,改名需同步内部调用点。

环境

  • 分支:main(源码核对:components/popper/props.ts L54、components/popper/useTrigger.ts L33)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions