1234567891011121314151617181920212223242526272829303132333435363738394041 |
- import Vue from 'vue';
- import toastOptions from './toast.vue';
- const Toast = Vue.extend(toastOptions);
- export default function (c, i) {
- const isString = (v) =>
- Object.prototype.toString.call(v) === '[object String]';
- const fixOptios = (optios) =>
- isString(optios)
- ? {
- message: optios,
- }
- : optios;
- // 插入到app组件下
- const getParent = () => c?.$vuetify?.app ?? window?.$nuxt;
- const toast = (optios) => {
- optios = fixOptios(optios);
- return new Toast({
- parent: getParent(),
- propsData: {
- // message: optios.message,
- // icon: optios.icon,
- ...optios,
- },
- }).$mount();
- };
- ['error', 'success', 'warning', 'info'].forEach((key) => {
- toast[key] = (optios) => {
- optios = fixOptios(optios);
- return toast({
- ...optios,
- icon: '$' + key,
- });
- };
- });
- i('toast', toast);
- }
|