UNPKG

vivo-ui

Version:

vivo ui component lib for vue

54 lines (46 loc) 1.55 kB
import _Object$keys from 'babel-runtime/core-js/object/keys'; import _extends from 'babel-runtime/helpers/extends'; import _toConsumableArray from 'babel-runtime/helpers/toConsumableArray'; import Toast from '../../components/toast/index'; var index = { install: function install(Vue) { var list = []; Toast.mixins = [].concat(_toConsumableArray(Toast.mixins), [{ created: function created() { list.push(this.list); } }]); var vm = new Vue({ el: document.body.appendChild(document.createElement('div')), data: _extends({ slot: '' }, function () { var defaults = {}; _Object$keys(Toast.props).forEach(function (key) { defaults[key] = Toast.props[key].default; }); return defaults; }()), template: '<toast ref="toast" :class-name="className" :time="time" :position="position" :single="single" class="vui-toast-plugin"><div v-html="slot"></div></toast>', components: { Toast: Toast } }); Vue.$vui = Vue.prototype.$vui = Vue.prototype.$vui || {}; Vue.prototype.$vui.toast = { show: function show(option) { _Object$keys(Toast.props).forEach(function (key) { vm[key] = option[key] !== undefined ? option[key] : Toast.props[key].default; }); vm.slot = option.slot; vm.$refs.toast.show(); }, hide: function hide() { list.forEach(function (item) { item.splice(0); }); } }; } }; export default index;