【若依前后端分离】对话框/模态框el-dialog设置

本文详细介绍了如何在Vue项目中使用ElementUI的el-dialog实现模态框的自定义功能,包括关闭方式、拖拽、尺寸调整,以及如何通过点击按钮触发弹出、关闭和数据交互的事件处理。
摘要由CSDN通过智能技术生成

 1、模态框点空白处不消失

单个添加:el-dialog 加上 :close-on-click-modal='false'

<el-dialog :close-on-click-modal='false'>

全部添加:在main.js中添加 

//模态框点击空白不消失
Element.Dialog.props.closeOnClickModal.default = false

2、模态框可拖拽

在el-dialog上添加:v-dialogDrag

<el-dialog v-dialogDrag></el-dialog>

3、模态框可拖动弹窗宽度和高度

拖动宽度:在el-dialog上添加v-dialogDragWidth

拖动高度:在el-dialog上添加v-dialogDragHeight

<el-dialog v-dialogDragWidth v-dialogDragHeight></el-dialog>

4、模态框详解

1、按钮

<el-col :span="1.5">
        <el-button
          type="success"
          plain
          icon="el-icon-delete"
          size="mini"
          :disabled="multiple"
          @click="openDialogButton"
          
        >点击按钮弹框
        </el-button>
      </el-col>

2、点击按钮打开模态框事件 

/** 点击按钮弹出模态框 */
    openDialogButton() {
        //可以加判断条件
        //模态框内容置空
      this.form = {};
        //打开模态框
      this.Open = true;
        //模态框标题
      this.title = "模态框";

    },

 3、模态框

需要设置visible属性,它接收Boolean,当为true时显示 Dialog。

center参数:设置为true即可使标题和底部居中。center仅影响标题和底部区域。

Dialog 的内容是懒渲染的,即在第一次被打开之前,传入的默认 slot 不会被渲染到 DOM 上。因此,如果需要执行 DOM 操作,或通过 ref 获取相应组件,请在 open 事件回调中进行。

fullscreen参数:是否为全屏Dialog,默认false

append-to-body参数:Dialog 自身是否插入至 body 元素上。嵌套的 Dialog 必须指定该属性并赋值为 true,如果需要在一个 Dialog 内部嵌套另一个 Dialog,设为true。

 <!-- 自动配货对话框,选择站台 -->
    <el-dialog :title="title" :visible.sync="Open" width="500px" append-to-body
:close-on-click-modal='false' v-dialogDragWidth v-dialogDragHeight
    > 

      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
        <el-form-item label="名字" prop="Name">

        <el-input v-model="form.Name" placeholder="请输入名字"/>

        </el-form-item>
      </el-form>

      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submit">确 定</el-button>
        <el-button @click="cancel">取 消</el-button>
      </div>
    </el-dialog>

4、模态框定义 

  data() {
    return {
        // 是否显示弹出层
      Open: false,
        //表单参数
      form: {
        Name:undefined,
      },
      // 表单校验
      rules: {
        Name: [
          {required: true, message: "名字不能为空", trigger: "blur"}
        ],
        
      }
    }
}

 5、模态框确定或取消按钮

    /**
     * 点击取消事件
     */
    cancel() {
        //关闭模态框
      this.Open = false;
      this.form = {};
    },

     /**
     * 点击确定事件
     */
    submit() {

        //与后端交互
        updateDetail(this.form).then(response => {
              this.$modal.msgSuccess("成功");
              this.Open = false;
              this.getList();
            });
    },

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值