问题
FPopper 的 onlyShowTrigger 属性名容易被理解为「只渲染触发器(不渲染 popper 内容)」,但实际语义是「popper 一旦显示就不再隐藏」——hide() 中直接 return:
// components/popper/useTrigger.ts
const hide = () => {
const setHide = () => {
if (props.onlyShowTrigger) {
return; // 显示后不再隐藏
}
...
建议
- 改名为语义准确的
keepVisible / persistent(保留旧名兼容一个版本并告警);或
- 在文档中显著说明实际行为,避免误解。
使用方影响
TimePicker 等组件内部已使用该属性,改名需同步内部调用点。
环境
- 分支:main(源码核对:
components/popper/props.ts L54、components/popper/useTrigger.ts L33)
问题
FPopper的onlyShowTrigger属性名容易被理解为「只渲染触发器(不渲染 popper 内容)」,但实际语义是「popper 一旦显示就不再隐藏」——hide()中直接return:建议
keepVisible/persistent(保留旧名兼容一个版本并告警);或使用方影响
TimePicker等组件内部已使用该属性,改名需同步内部调用点。环境
components/popper/props.tsL54、components/popper/useTrigger.tsL33)