0.2.3 • Published 2 years ago

vue-dialog-yy v0.2.3

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

安装:

npm i vue-dialog-yy

引入

import Vue from 'vue'
import Dialog from 'vue-dialog-yy'

Vue.use(Dialog, {
  // 务必传入store和router,否则Dialog内组件用到时会报错,因为不共享同一个Vue实例
  store,
  router,
  // 如果需要注册为组件,声明registerComponent并定义组件名
  registerComponent: 'CustomDialog'
})

使用示例:

1. 模板中使用

可直接复制文件 /node_modules/vue-dialog-yy/src/Dialog.vue 作为组件使用 也可以在Vue.use()时直接声明registerComponent并定义组件名作为全局组件使用

2. script中使用

this.$dialog(
  // Dialog标题
  'title',
  // 引入的组件模块、显示的内容
  import('components/dialog/testValidate'),
  // Dialog的配置项
  {
    // minimizable为true时需要指定唯一id
    id: 'testValidate', 
    // 最小化时如果有设置id,不会执行then和beforeClose的方法,只会执行onMinimized()
    minimizable: true,
    maximizable: true,
    // 使用方法调用Dialog时必须设置appendToBody为true,(默认为true),否则不会弹出
    appendToBody: true, 
    // 使用方法调用Dialog时必须设置inline为false,(默认为false),否则不会弹出
    inline: false,
    // 是否显示默认取消按钮
    showCancelButton: false,
    // 默认取消按钮文字
    cancelButtonText: '取消',
    // 是否显示默认确认按钮
    showConfirmButton: false,
    // 默认确认按钮文字
    confirmButtonText: '确认',
    // 自定义Dialogclass
    customClass: 'custom',
    // 自定义按钮
    customButtons: [
      {
        text: '立即创建',
        type: 'primary',
        loading: false,
        click: (child, done, button) => {
          button.loading = true
          // 调用子组件的方法
          child.resetForm()
          button.loading = false
          button.text = '完成'
        }
      }, {
        text: '充值',
        click: (child, done, button ) => {
          // 传入父组件的参数
          child.resetForm(this.data1)
        }
      }
    ],
    // Dialog打开时的钩子
    onOpen: child => {
      child.search()
    },
    // Dialog关闭前的钩子,可以控制Dialog是否要关闭
    onBeforeClose: (child, done, action) => {
      console.log(action)
      // 需要显示调用done()方法才会关闭Dialog, 方法可以传入任意参数,会做为then的action
      done()
    }
  },
  // 传入子组件的props,用on+小驼峰命名来区分事件和props
  {
    type: 'edit',
    // 子组件$emit('onSearch')触发
    onSearch: (data) => {
      console.log(data)
    }
  }
).then(action => {
  // Dialog关闭后的钩子
  console.log(action)
})

Attributes

参数说明类型可选值默认值
id是否永久保存该Dialog实例,若有id则保存,默认不保存,需要整个项目唯一idstring、number--
showCancelButton是否显示默认取消按钮boolean-true
cancelButtonText默认取消按钮文字string、number-'取消'
cancelButtonSize默认取消按钮大小stringmedium / small / mini'small'
showConfirmButton是否显示默认确认按钮boolean-true
confirmButtonText默认确认按钮文字string、number-'确认'
confirmButtonSize默认确认按钮大小stringmedium / small / mini'small'
customClass自定义Dialog类名,样式可以直接写在style/index.scss里string--
customButtons自定义按钮,配置见使用示例Array--
title标题文字, 不传即不显示头部string-''
headerBackgroundheader背景, 可设置渐变string-'#e8f4ff'
footerBackgroundfooter背景, 可设置渐变string-'#fff'
icon标题旁边的图标样式名称stringelement-ui的图标-
widthDialog宽度string-auto
heightDialog高度string-auto
headerHeight头部高度string-'40px'
footerHeight底部高度string-'40px'
closable是否显示关闭按钮boolean-true
maximizable是否显示最小化按钮boolean-false
maximizable是否显示最大化按钮boolean-false
closeOnClickModal是否可以通过点击 modal 关闭Dialogboolean-true
closeOnPressEscape是否可以通过按下 ESC 关闭Dialogboolean-true
modal是否显示遮罩层,inline为true是无效boolean-true
draggable是否支持Dialog拖拽boolean-true
resizable是否支持Dialog改变尺寸boolean-true
zIndexDialog层级number-1000
shadow是否显示Dialog阴影boolean-true
inline是否以内联方式显示boolean-false
leftDialog左位置,inline为true时无效,left、top同时为null时,自动居中string-null
topDialog顶位置,inline为true时无效,left、top同时为null时,自动居中string-null

Hooks

钩子名称说明回调参数
onOpenDialog打开时的钩子子组件实例
onBeforeCloseDialog关闭前的钩子,可以控制Dialog是否要关闭(子组件实例,关闭Dialog方法,关闭行为名称)
onStartDragDialog开始拖拽时的钩子(子组件实例,关闭Dialog方法,事件event)
onStopDragDialog结束拖拽时的钩子(子组件实例,关闭Dialog方法,事件event)
onDragDialog正在拖拽时的钩子(子组件实例,关闭Dialog方法,事件event)
onStartResizeDialog开始改变尺寸时的钩子(子组件实例,关闭Dialog方法,事件event)
onStopResizeDialog结束改变尺寸时的钩子(子组件实例,关闭Dialog方法,事件event)
onResizeDialog正在改变尺寸时的钩子(子组件实例,关闭Dialog方法,事件event)
onMinimizedDialog切换最小化时的钩子(子组件实例,关闭Dialog方法)
onMaximizedDialog切换最大化时的钩子(子组件实例,关闭Dialog方法,当前放大状态)
onClickDialog被点击时的钩子(子组件实例,关闭Dialog方法,事件event)

Slots(模板语法)

name说明
title定义标题内容,设置了改插槽,参数title将无效
tools定义操作按钮
defaultDialog内容
footer定义底部内容
0.2.1

2 years ago

0.2.0

2 years ago

0.2.3

2 years ago

0.2.2

2 years ago

0.1.6

2 years ago

0.1.5

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.0

2 years ago