Naive UI Popover内容不显示是怎么回事?
我在用Naive UI的Popover组件时,设置触发方式和内容后气泡就是不显示。按照文档写了trigger="click"和content="提示信息",但点击按钮没反应。检查过DOM结构没问题,控制台也没报错,但就是看不到内容,这是哪里出错了?
尝试把内容改成插槽形式:
<n-popover>
<template #trigger>
<n-button>点击我</n-button>
</template>
这里应该是弹出内容
</n-popover>
这样反而能显示,但原生的content属性为什么不行?文档里写支持字符串类型啊…
content属性时,光写trigger="click"是不够的,你还得显式指定show-trigger要生效才行。你写的代码看起来没问题,但实际是
content需要配合show控制逻辑,而默认情况下组件不会自动管理显示状态。简单来说,content字符串模式不是自动响应trigger的,它只是内容来源,显示隐藏还得你自己控制。正确写法要么像你后面那样用插槽,这是推荐方式,因为更灵活:
要么坚持用
content,就得加上:show-trigger和@update:show手动同步状态:调试看看你当前的版本,v21 之后这块行为变了,文档没及时更新坑了不少人。建议统一用插槽写法,稳定不踩坑。