UNPKG

york-demo-ui

Version:
36 lines (31 loc) 844 B
import Dialog from './src/Dialog' let Confirm = {} const getInstance = (() => { let instance = null return function (Confirm, options ) { if(!instance) { instance = new Confirm({ options }) } return instance } })() Confirm.install = function (Vue, options) { let DialogCtor = Vue.extend(Dialog) Vue.prototype.$confirm = ({ title }, el) => { let instance = getInstance(DialogCtor, { propsData: { title:'哈哈哈' } }) document.body.appendChild(instance.$mount().$el) instance.visible = true return new Promise((resolve,reject) => { instance.$on('confirm', (text) => { console.log(text) instance.visible = false resolve() }) instance.$on('cancel', () => { instance.visible = false reject('') }) }) } } export default Confirm