# Popover 气泡弹出框 ### 介绍 点击或在元素上悬停鼠标,弹出气泡卡片浮层。 ### 安装 ```javascript import { createApp } from 'vue'; // vue import { Popover, Popup } from '@nutui/nutui'; // taro import { Popover, Popup } from '@nutui/nutui-taro'; const app = createApp(); app.use(Popup); app.use(Popover); ``` ### 基础用法 Popover 支持明朗和暗黑两种风格,默认为明朗风格,将 theme 属性设置为 dark 可切换为暗黑风格。 :::demo ```html ``` ::: ### 选项配置 在 list 数组中,可以通过 disabled 字段来禁用某个选项。 :::demo ```html ``` ::: ### 自定义内容 在名为 content 插槽中自定义内容。 :::demo ```html ``` ::: ### 位置自定义 通过 location 属性来控制气泡的弹出位置。可选值 ``` top # 顶部中间位置 left # 左侧中间位置 right # 右侧中间位置 bottom # 底部中间位置 ``` 自 `v3.1.21` 起新增 ``` top-start # 顶部左侧位置 top-end # 顶部右侧位置 left-start # 左侧上方位置 left-end # 左侧下方位置 right-start # 右侧上方位置 right-end # 右侧下方位置 bottom-start # 底部左侧位置 bottom-end # 底部右侧位置 ``` :::demo ```html ``` ::: ### 自定义目标元素 Popover 提供了 `targetId` 属性,用于匹配目标元素,在目标元素上添加对应的 id 值即可 :::demo ```html ``` ::: ### 自定义颜色 Popopver 提供了 2 种主题色,同样可以通过 `bgColor` 属性改变背景色 :::demo ```html ``` ::: ## API ### Props | 字段 | 说明 | 类型 | 默认值 | |----------------|---------------------------------|---------|------------| | list | 选项列表 | List[] | [] | | visible | 是否展示气泡弹出层 | boolean | false | | theme | 主题风格,可选值为 dark | string | `light` | | location | 弹出位置 | string | `bottom` | | offset `v3.1.21` | 出现位置的偏移量 | [number, number] | [0, 12] | | show-arrow `v3.1.21` | 是否显示小箭头 | boolean | true | | custom-class `v3.1.21` | 自定义 class 值 | string | '' | | duration `v3.1.21` | 动画时长 | [number, number] | 0.3 | | iconPrefix `v3.1.21` | 图标自定义类值,等同于 Icon 组件的[ class-prefix 属性](https://nutui.jd.com/#/zh-CN/component/icon) | string | 'nut-icon'' | | overlay `v3.2.8` | 是否显示遮罩层 | Boolean | false | | overlay-class `v3.2.8` | 自定义遮罩层类名 | string | '' | | overlay-style `v3.2.8` | 自定义遮罩层样式 | string | '' | | close-on-click-overlay `v3.2.8` | 是否在点击遮罩层后关闭菜单 | boolean | true | | close-on-click-action `v3.2.8` | 是否在点击选项后关闭 | boolean | true | | close-on-click-outside `v3.2.8` | 是否在点击外部元素后关闭菜单 | boolean | true | | bg-color `v3.3.1` | 自定义背景色 | String | - | | target-id `v3.3.1` | 自定义目标元素 id | String | - | | arrow-offset `v3.3.1` | 小箭头的偏移量 | Number | 0 | ### List 数据结构 List 属性是一个由对象构成的数组,数组中的每个对象配置一列,对象可以包含以下值: | 键名 | 说明 | 类型 | 默认值 | |----------------|----------------------|----------|--------| | name | 选项文字 | string | - | | icon | nut-icon 图标名称 | string | - | | disabled | 是否为禁用状态 | boolean | false | | className `v3.1.21` | 为对应选项添加额外的类名 | string/Array/object | - | ### Slots | 名称 | 说明 | |---------|--------------| | content | 自定义气泡组件菜单内容 | | reference | 触发 Popover 显示的元素内容 | ### Events | 名称 | 说明 | |---------|--------------| | choose | 点击选项时触发 | | open | 打开菜单时触发 | | close | 关闭菜单时触发 |