zoukankan      html  css  js  c++  java
  • elementUI弹框dialog的打开和关闭

    1、首先定义好一个弹框,弹框代码放在最后

    2、父组件中引入进来,用porps的方式传递一个show到子组件中,这种方式还可以传递其他的值过去。这种方法要注意不可以直接定义一个变量show为布尔值,然后对show进行修改,会报错的

    3、还有个办法也可以打开关闭弹框,这个方法简便,不用props传值,复杂场景还是得使用上面那种方式

    <template>
      <!-- 添加科室dialog -->
      <div class="add-departments-dialog">
        <el-dialog :visible.sync="dialogForm.show" :before-close="handleClose">
          <header>添加科室</header>
          <el-form
            :model="ruleForm"
            :rules="rules"
            ref="ruleFormRef"
            label-width="120px"
            class="demo-ruleForm"
          >
            <el-form-item label="科室名称" prop="name">
              <el-input v-model="ruleForm.name"></el-input>
            </el-form-item>
            <el-form-item label="组别" prop="type">
              <el-select v-model="ruleForm.type" placeholder="请选择">
                <el-option label="内科" value="INNER"></el-option>
                <el-option label="外科" value="OUTER"></el-option>
              </el-select>
            </el-form-item>
            <div class="btns">
              <el-button type="primary" @click="handleSave">确 定</el-button>
              <el-button @click="handleClose">取 消</el-button>
            </div>
          </el-form>
        </el-dialog>
      </div>
    </template>
    <script>
    export default {
      data() {
        return {
          ruleForm: {
            name: "",
            type: ""
          },
          rules: {
            name: [{ required: true, message: "请输入科室名称", trigger: "blur" }],
            type: [{ required: true, message: "请选择组别", trigger: "change" }]
          },
          bool: false
        };
      },
      methods: {
        handleSave() {
          this.$refs.ruleFormRef.validate(valid => {
            if (!valid) return this.$message.error("请正确填写必要的表单项!");
            console.log(this.ruleForm);
          });
        },
        handleClose() {
          this.$refs.ruleFormRef.resetFields();
          this.dialogForm.show = false;
          // this.bool=false
        }
      },
      props: {
        dialogForm: {
          type: Object,
          default: {}
        }
      }
    };
    </script>
    <style lang="scss">
    @import "@/style/common.scss";
    .add-departments-dialog {
      .el-dialog {
        width: 360px;
        height: 220px;
        position: fixed;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        margin: 0 !important;
        .el-dialog__header,
        .el-dialog__body {
          padding: 0;
        }
        header {
          width: 100%;
          height: 38px;
          background-color: #1fb6af;
          border-radius: 3px 3px 0 0;
          color: #fff;
          line-height: 38px;
          padding-left: 10px;
        }
        .el-dialog__headerbtn {
          top: 11px;
          right: 10px;
          .el-icon-close {
            color: #fff;
          }
        }
        .el-form {
          margin-top: 20px;
          .el-form-item {
            margin-bottom: 20px;
          }
          .el-form-item__label,
          .el-form-item__content {
            line-height: 32px;
          }
          .el-form-item__content {
            width: 200px;
          }
          .btns {
            display: flex;
            justify-content: center;
            .el-button {
              width: 120px;
              height: 32px;
            }
          }
        }
      }
    }
    </style>
  • 相关阅读:
    Docker容器启动时初始化Mysql数据库
    使用Buildpacks高效构建Docker镜像
    Mybatis 强大的结果集映射器resultMap
    Java 集合排序策略接口 Comparator
    Spring MVC 函数式编程进阶
    换一种方式编写 Spring MVC 接口
    【asp.net core 系列】6 实战之 一个项目的完整结构
    【asp.net core 系列】5 布局页和静态资源
    【asp.net core 系列】4. 更高更强的路由
    【Java Spring Cloud 实战之路】- 使用Nacos和网关中心的创建
  • 原文地址:https://www.cnblogs.com/wuqilang/p/13681465.html
Copyright © 2011-2022 走看看