模仿antd-mobile的popover~
> yarn add vc-popup-over || npm i vc-popup-over || cnpm i vc-popup-over --by=yarn
import Vue from 'vue'
import VcPopupOver from 'vc-popup-over'
// 这里名字可以随意
Vue.use(VcPopupOver)
this.over = new this.$popup.Popover({
...config
propsData: {}
})
this.over.open(e, {
...config
propsData: {}
})
this.over.close()
e为事件Event, 比如click时候取得的evt, 与一些定位方法相关 config可参考popup-base/readme.md
{
e: Object // 从open(e, {})传进来的e
items: {
type: Array,
required: true,
example: [
{
name: String,
src: String,
click: Function,
},
{
name: '扫描',
click: e => console.log('btn0 clicked'),
src: 'https://gw.alipayobjects.com/zos/rmsportal/tOtXhkIWzwotgGSeptou.svg'
},
...
]
}
}
小三角自适应config的refCorner, relativeToCorner
this.Popover = new this.$popup.Popover({
refDom: this.$refs.btn16,
refCorner: 'bottom right',
relativeToCorner: 'below before',
propsData: {
items: [
{
name: '扫描',
click: e => console.log('btn0 clicked'),
src: 'https://gw.alipayobjects.com/zos/rmsportal/tOtXhkIWzwotgGSeptou.svg'
},
]
}
})
MIT 一起来扣细节~