index.js 585 Bytes
import Vue from 'vue'
import FormDialog from './main'
export default config => {
  const {
    title,
    schema,
    list,
    data = {},
    fetchData
  } = config

  const Dialog = Vue.extend(FormDialog)
  const dialog = new Dialog({
    propsData: {
      title,
      schema,
      list,
      data: JSON.parse(JSON.stringify(data)),
      fetchData
    },
    destroyed() {
      document.body.removeChild(dialog.$el)
    }
  })
  dialog.$on('closed', () => {
    dialog.$destroy()
  })
  dialog.$mount()
  dialog.show()
  document.body.appendChild(dialog.$el)
  return dialog
}