doc.md 5.5 KB

Dialog 对话框

模态对话框,在浮层中显示,引导用户进行相关操作,支持图片对话框。

基本用法

this.$dialog({
  title: "确定删除此订单?",
  content: "删除后将从你的记录里消失,无法找回"
});

直接关闭当前dialog

this.$dialog.closed()  //可以直接关闭当前dialog

ID

同一个页面中,id相同的Dialog的DOM只会同时存在一个,不指定id时,id的默认值为nut-dialog-default-id

this.$dialog({
  id:'my-dialog',
  title: "确定删除此订单?",
  content: "删除后将从你的记录里消失,无法找回"
});

如果希望同时弹出多个Dialog,请给不同的Dialog设置不同的id。

事件

this.$dialog({
        title: "自定义Dialog标题",
        content: "小屏或移动端浏览效果最佳",
        closeBtn:true,  //显式右上角关闭按钮
        onOkBtn(event) {  //确定按钮点击事件
          alert("okBtn");
          this.close(); //关闭对话框
        },
        onCancelBtn(event) {  //取消按钮点击事件,默认行为关闭对话框
          alert("cancelBtn");
          //return false;  //阻止默认“关闭对话框”的行为
        },
        onCloseBtn(event) { //右上角关闭按钮点击事件
          alert("closeBtn");
          //return false;  //阻止默认“关闭对话框”的行为
        },
        closeCallback(target) {
          alert("will close");  //对话框关闭回调函数,无论通过何种方式关闭都会触发
        }
});
        

关闭dialog不销毁实例

 this.$dialog({
        animation: false, //禁用弹出动效
        title: "注册说明",
        canDestroy:false,
        content:
          "原账号为您本人所有,建议直接登录或找回密码。原账号内的订单资产可能丢失,可联系京东客服找回。"
      });
        

页面滚动锁定

lockBgScroll 值设为 true 时,可在弹窗出现时锁定页面滚动,且不影响窗体内部滚动。

this.$dialog({
        title: "背景滚动锁定",
        lockBgScroll:true,
        content:"弹窗弹出后,页面滚动锁止。在窗体和遮罩层上滑动时,页面不再跟随滚动。"
});

图片弹窗

type 值为 image 时为图片弹窗,需要配置一张图片,可带链接(非必须)。默认展示关闭按钮。点击图片触发 onClickImageLink 事件,返回false可阻止默认的跳转链接行为。

this.$dialog({
  type:"image", //设置弹窗类型为”图片弹窗“
  link:"http://m.jd.com", //点击图片跳转的Url
  imgSrc:"https://m.360buyimg.com/mobilecms/s750x750_jfs/t1/4875/23/1968/285655/5b9549eeE4997a18c/070eaf5bddf26be8.jpg", //图片Url
  onClickImageLink:function(){ //图片点击事件,默认行为是跳转Url
    console.log(this); //this指向该Dialog实例
    return false;  //返回false可阻止默认的链接跳转行为
  }
});

标签式写法

如果Dialog内容有复杂交互,可使用Dialog的标签式用法。注意标签使用的时候,属性不建议使用驼峰,推荐使用如下写法

<nut-dialog title="标签形式调用" :visible="dialogShow" @ok-btn-click="dialogShow=false" @cancel-btn-click="dialogShow=false" @close="dialogShow=false">
    <a href="javascript:;" @click="dialogShow=false" :noCancelBtn="true">点我可以直接关闭对话框</a>
</nut-dialog>
export default {
  data() {
    return {
      dialogShow: false
    };
  }
}

prop

字段 说明 类型 默认值
id 标识符,相同者共享一个实例 String/Number nut-dialog-default-id
canDestroy 是否关闭弹窗时销毁实例 Boolean true
title 标题 String -
content 内容,支持HTML String -
type 弹窗类型,值为image时为图片弹窗 String -
closeOnClickModal 点击蒙层是否关闭对话框 Boolean true
noFooter 是否隐藏底部按钮栏 Boolean false
noOkBtn 是否隐藏确定按钮 Boolean false
noCancelBtn 是否隐藏取消按钮 Boolean false
cancelBtnTxt 取消按钮文案 String ”取 消“
okBtnTxt 确定按钮文案 String ”确 定“
okBtnDisabled 禁用确定按钮 Boolean false
cancelAutoClose 取消按钮是否默认关闭弹窗 Boolean true
textAlign 文字对齐方向,可选值同css的text-align String "center"
maskBgStyle 遮罩层样式(颜色、透明度) String -
customClass 增加一个自定义class String -
link 点击图片跳转的Url,仅对图片类型弹窗有效 String -
imgSrc 图片Url,仅对图片类型弹窗有效 String -
animation 是否开启默认动效 Boolean true
closeOnPopstate 是否在页面回退时自动关闭 Boolean false
lockBgScroll 锁定遮罩层滚动,不影响弹窗内部滚动(实验性质)会给body添加posotion:fix属性,注意 Boolean false

事件

字段 说明 类型 默认值

| onOkBtn | 确定按钮回调 | Function | - | onCancelBtn | 取消按钮回调 | Function | - | onCloseBtn | 关闭按钮回调 | Function | - | closeCallback | 关闭回调,任何情况关闭弹窗都会触发 | Function | - | onClickImageLink | 图片链接点击回调,仅对图片类型弹窗有效 | Function | - | closed | 关闭dialog | Function | -