mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-11-06 21:42:08 +08:00
Popup
Install
import { Popup } from 'vant';
Vue.use(Popup);
Usage
Basic Usage
<van-button type="primary" @click="showPopup">
Show Popup
</van-button>
<van-popup v-model="show">Content</van-popup>
export default {
data() {
return {
show: false
}
},
methods: {
showPopup() {
this.show = true;
}
}
};
Position
Use position prop to set popup display position
<van-popup
v-model="show"
position="top"
:style="{ height: '20%' }"
/>
Round Corner
<van-popup
v-model="show"
round
position="bottom"
:style="{ height: '20%' }"
/>
Get Container
Use get-container prop to specify mount location
<!-- mount to body -->
<van-popup
v-model="show"
get-container="body"
/>
<!-- mount to #app -->
<van-popup
v-model="show"
get-container="#app"
/>
<!-- Specify the mount location by function -->
<van-popup
v-model="show"
:get-container="getContainer"
/>
export default {
methods: {
getContainer() {
return document.querySelector('.my-container');
}
}
}
API
Props
| Attribute | Description | Type | Default |
|---|---|---|---|
| v-model | Whether to show popup | Boolean |
false |
| overlay | Whether to show overlay | Boolean |
true |
| position | Can be set to top bottom right left |
String |
center |
| overlay-class | Custom overlay class | String |
- |
| overlay-style | Custom overlay style | Object |
- |
| duration | Transition duration, unit second | Number |
0.3 |
| round | Whether to show round corner | Boolean |
false |
| lock-scroll | Whether to lock background scroll | Boolean |
true |
| lazy-render | Whether to lazy render util appeared | Boolean |
true |
| close-on-click-overlay | Whether to close when click overlay | Boolean |
true |
| transition | Transition | String |
popup-slide |
| get-container | Return the mount node for Popup | `String | () => HTMLElement` |
Events
| Event | Description | Arguments |
|---|---|---|
| click | Triggered when click Popup | event: Event |
| open | Triggered when open Popup | - |
| opened | Triggered when opened Popup | - |
| close | Triggered when close Popup | - |
| closed | Triggered when closed Popup | - |
| click-overlay | Triggered when click overlay | - |