当前位置: 首页 > 文档资料 > FeArt 中文文档 >

Dialog 对话框

优质
小牛编辑
127浏览
2023-12-01

使用指南

组件介绍

弹出模态框,常用于消息提示、消息确认、在当前页面内完成特定的交互操作。

函数调用

Dialog 是一个函数而不是组件,因此可以直接调用,展示对应的提示弹窗

import { Dialog } from 'feart';

Dialog({ message: '提示' });

组件调用

通过组件调用 Dialog 时,可以通过下面的方式进行注册

import { Dialog } from 'feart';

export default {
  components: {
    'fe-dialog': Dialog.Component,
  },
};

代码演示

消息提示

用于提示一些消息,只包含一个确认按钮

Dialog.alert({
  title: '标题',
  message: '弹窗内容',
}).then(() => {
  // on close
});

Dialog.alert({
  message: '弹窗内容',
}).then(() => {
  // on close
});

消息确认

用于确认消息,包含取消和确认按钮

Dialog.confirm({
  title: '标题',
  message: '弹窗内容',
})
  .then(() => {
    // on confirm
  })
  .catch(() => {
    // on cancel
  });

文本输入确认弹窗

用于确认消息,包含取消和确认按钮,res 为输入框返回值

Dialog.prompt({
  title: '标题',
  message: '弹窗内容',
})
  .then((res) => {
    // on confirm
  })
  .catch((res) => {
    // on cancel
  });

运营活动弹窗

用于运营活动图片展示

Dialog.activity({
  imgUrl: ... // imgUrl
}).then(() => {
  // on confirm
})

异步关闭

function beforeClose(action, done) {
  if (action === 'confirm') {
    setTimeout(done, 1000);
  } else {
    done();
  }
}

Dialog.confirm({
  title: '标题',
  message: '弹窗内容',
  beforeClose,
});

全局方法

引入 Dialog 组件后,会自动在 Vue 的 prototype 上挂载 $dialog 方法,在所有组件内部都可以直接调用此方法

export default {
  mounted() {
    this.$dialog.alert({
      message: '弹窗内容',
    });
  },
};

组件调用

如果需要在弹窗内嵌入组件或其他自定义内容,可以使用组件调用的方式.

<fe-dialog
  showCancelButton
  :visible="this.visible"
  title="标题"
  @onConfirm="onConfirm('onConfirm')"
>
  <div>Dialog 对话框</div>
</fe-dialog>
export default {
  data() {
    return {
      visible: true,
    };
  },
  methods: {
    onConfirm(str) {
      console.log(str);
      this.visible = false;
    },
  },
};

API

方法

方法名参数返回值介绍
DialogoptionsPromise展示弹窗
Dialog.alertoptionsPromise展示消息提示弹窗
Dialog.confirmoptionsPromise展示消息确认弹窗
Dialog.promptoptionsPromise文本输入确认弹窗
Dialog.imgoptionsPromise带图片展示消息提示弹窗
Dialog.iconoptionsPromise带 icon 消息提示弹窗
Dialog.activityoptionsPromise活动展示框
Dialog.setDefaultOptionsoptionsvoid修改默认配置,对所有 Dialog 生效
Dialog.resetDefaultOptions-void重置默认配置,对所有 Dialog 生效
Dialog.close-void关闭弹窗
----

Options

通过函数调用 Dialog 时,支持传入以下通用选项(Dialog.activity 不通用):

参数说明类型默认值可选值
title标题String--
message文本内容,支持通过\n换行String--
messageAlign内容对齐方式,可选值为 left center rightStringcenter-
className自定义类名String ArrayObject-
showConfirmButton是否展示确认按钮Booleantrue-
showCancelButton是否展示取消按钮Booleanfalse-
cancelButtonText取消按钮文案String取消-
confirmButtonText确认按钮文案String确认-
overlay是否展示遮罩层Booleantrue-
closeOnClickOverlay点击遮罩层时是否关闭弹窗Booleanfalse-
beforeClose关闭前的回调函数,
调用 done() 后关闭弹窗,
调用 done(false) 阻止弹窗关闭
(action, done) => void--
-----

通过函数调用 Dialog.prompt 时,支持传入以下独立选项:

参数说明类型默认值可选值
placeholder提示文案String--
inputValue文本内容String--
maxlength输入字段的最大长度,以字符个数计Number20-
-----

通过函数调用 Dialog.img 时,支持传入以下独立选项:

参数说明类型默认值可选值
imgUrl展示图片,可以直接传图片地址,也可以 dom 节点(eg: icon 节点)String--
imgsize尺寸,可选值为 default overspread
default:根据图片大小决定
overspread:100%平铺
Stringdefault-
showClose关闭按钮Booleantrue-
-----

通过函数调用 Dialog.icon 时,支持传入以下独立选项:

参数说明类型默认值可选值
iconTypeicon 类型,可选值为 success error warningStringsuccess-
-----

通过函数调用 Dialog.activity 时,仅支持传入以下选项(不可使用 Dialog 通用参数选项):

参数说明类型默认值可选值
imgUrl展示图片,目前仅支持传图片地址String--
size尺寸,可选值为default largeStringdefault-
className自定义类名String ArrayObject-
overlay是否展示遮罩层Booleantrue-
closeOnClickOverlay点击遮罩层时是否关闭弹窗Booleanfalse-
beforeClose关闭前的回调函数,
调用 done() 后关闭弹窗,
调用 done(false) 阻止弹窗关闭
(action, done) => void--
-----

Props

通过组件调用 Dialog 时,支持以下 Props:

参数说明类型默认值版本
visible是否显示弹窗Boolean--
title标题String--
showCancelButton是否展示取消按钮Booleanfalse-
confirmButtonText确认按钮文案String确认-
cancelButtonText取消按钮文案String取消-
overlay是否展示遮罩层Booleantrue-

Slots

通过组件调用 Dialog 时,支持以下 Slots

Slot 名说明备注
default内容插槽-
---

Events

通过组件调用 Dialog 时,支持以下 Events。 使用方式:@onConfirm="onConfirm('onConfirm')"

参数说明
onConfirm点击确认按钮,且按钮状态不为加载或禁用时触发
onCancel点击取消按钮,且按钮状态不为加载或禁用时触发