VPopup
VPopup
控件用于在地图上显示弹窗。
基础用法
将弹窗结合 VMarker
使用。
点击弹窗
单击显示多边形信息
API
popupProps
属性名 | 说明 | 类型 | 默认值 |
---|---|---|---|
modelValue | 弹窗是否可见 | boolean | 必填 |
center | 弹窗的经纬度坐标 | object, array | - |
text | 弹窗的文本 | string | - |
html | 弹窗的 HTML 内容 | string | - |
closeButton | 显示关闭按钮 | boolean | false |
closeOnClick | 点击地图时关闭弹窗 | boolean | true |
closeOnMove | 移动地图时关闭弹窗 | boolean | false |
focusAfterOpen | 打开弹窗后焦点 | boolean | false |
anchor | 锚点位置 | string | center |
offset | 偏移量 | object,array,number | - |
className | 弹窗的 CSS 类名 | string | - |
maxWidth | 弹窗的最大宽度 | string | 240px |
defaultOptions | 弹窗的配置项(覆盖同名属性) | object | - |
popupEmits
事件名 | 说明 | 回调参数 |
---|---|---|
load | 弹窗加载完成后触发 | Function |
update:modelValue | 弹窗可见性更新时触发 | Function |
open | 弹窗打开时触发 | Function |
close | 弹窗关闭时触发 | Function |
popupSlots
插槽名 | 说明 |
---|---|
default | 自定义弹框的内容 |
Inject
typescript
export const popupKey: InjectionKey<ShallowRef<Popup | undefined>> = Symbol('Popup')
ts
export function usePopup() {
const popup = inject<Popup>(popupKey)
if (!popup) {
consola.warn('no popup provided')
}
return unref(popup)
}
类型定义
PopupLoadEvent
typescript
export interface PopupLoadEvent {
map: Map
popup: Popup
}
PopupAnchor
typescript
export type PopupAnchor =
| 'center'
| 'top'
| 'bottom'
| 'left'
| 'right'
| 'top-left'
| 'top-right'
| 'bottom-left'
| 'bottom-right'
PopupOffset
typescript
export type PopupOffset = number | PointLike | Partial<Record<PopupAnchor, PointLike>>
PopupEvents
typescript
export interface PopupEvents {
open: void
close: void
}