# Popover 气泡弹出框 ### 介绍 点击或在元素上悬停鼠标,弹出气泡卡片浮层。 ### 安装 ```javascript import { createApp } from 'vue'; // vue import { Popover } from '@nutui/nutui'; // taro import { Popover } from '@nutui/nutui-taro'; const app = createApp(); app.use(Popover); ``` ### 代码实例 ### 基本用法 Popover 支持明朗和暗黑两种风格,默认为明朗风格,将 theme 属性设置为 dark 可切换为暗黑风格。 ```html ``` ```javascript setup(){ const visible = ref(false); const List = [ {name: '选项一'}, {name: '选项二'}, {name: '选项三'}]; } const open = () =>{ visible.value = true; } const close = () =>{ visible.value = false; } ``` ### 选项配置 ```html ``` ```javascript setup(){ const visible = ref(false); const List = [ {name: '选项一',icon: 'my2'}, {name: '选项二',icon: 'cart2'}, {name: '选项三',icon: 'location2'} ], const open = () =>{ visible.value = true; } const close = () =>{ visible.value = false; } } ``` 在 list 数组中,可以通过 disabled 字段来禁用某个选项。 ```html ``` ```javascript setup(){ const visible = ref(false); const List = [{ name: '选项一', disabled: true }, { name: '选项二', disabled: true }, { name: '选项三' }], const open = () =>{ visible.value = true; } const close = () =>{ visible.value = false; } } ``` ### 自定义内容 在名为 content 插槽中自定义内容。 ```html ``` ### 位置自定义 支持 bottom, top, left, right 四种弹出位置,默认值为 bottom。 ```html ``` ### Prop | 字段 | 说明 | 类型 | 默认值 | |----------------|---------------------------------|---------|------------| | list | 选项列表 | List[] | [] | | visible | 是否展示气泡弹出层 | boolean | false | | theme | 主题风格,可选值为 dark | string | `light` | | location | 弹出位置,可选值为 top,left,right | string | `bottom` | ### List 数据结构 List 属性是一个由对象构成的数组,数组中的每个对象配置一列,对象可以包含以下值: | 键名 | 说明 | 类型 | 默认值 | |----------------|----------------------|----------|--------| | name | 选项文字 | string | - | | icon | nut-icon 图标名称 | string | - | | disabled | 是否为禁用状态 | boolean | false | ### Slots | 名称 | 说明 | |---------|--------------| | content | 自定义气泡组件菜单内容 | | reference | 触发 Popover 显示的元素内容 | ### Events | 名称 | 说明 | |---------|--------------| | choose | 点击选项时触发 | | open | 打开菜单时触发 | | close | 关闭菜单时触发 |