vc-popup-over

vc-popup-over

Usage no npm install needed!

<script type="module">
  import vcPopupOver from 'https://cdn.skypack.dev/vc-popup-over';
</script>

README

vc-popup-over


模仿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

propsData配置定义

{
  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'
      },
    ]
  }
})

效果预览

License

MIT 一起来扣细节~