vue封装组件以及调用「建议收藏」

vue封装组件以及调用「建议收藏」1.index.jsexport{defaultasaddDialog}from’./addDialog’export{defaultasEditDialog}from’./EditDialog’editDialog.vue<template><div><el-dialogtitle=”编辑”:visible.sync=”dialogVisible”width=”40%”


Jetbrains全系列IDE稳定放心使用

1.vue封装组件以及调用「建议收藏」

index.js

export { default as addDialog } from './addDialog'
export { default as EditDialog } from './EditDialog'

editDialog.vue

<template>
    <div><el-dialog
      title="编辑"
      :visible.sync="dialogVisible"
      width="40%"
      custom-class="custonStyle">
      <el-row>
        <el-col :span="24">
          <el-form ref="addTagData" :model="tableData" :rules="rules" label-width="120px">
            <el-form-item label="标题名称" prop="title">
              <el-input v-model="tableData.title"></el-input>
            </el-form-item>
            <el-form-item label="标题类型" prop="titleType">
              <el-radio-group v-model="tableData.titleType">
                <el-radio label="0">企业</el-radio>
                <el-radio label="1">个人</el-radio>
              </el-radio-group>
            </el-form-item>
            <el-form-item label="元素类型" prop="eleType">
              <el-radio-group v-model="tableData.eleType">
                <el-radio label="0">复选</el-radio>
                <el-radio label="1">单选</el-radio>
              </el-radio-group>
            </el-form-item>
            <el-form-item label="必填" prop="unrequired">
              <el-radio-group v-model="tableData.unrequired">
                <el-radio label="0">是</el-radio>
                <el-radio label="1">否</el-radio>
              </el-radio-group>
            </el-form-item>
            <el-form-item>
              <el-button type="primary" @click="submitForm('addTagData')">提交</el-button>
              <el-button @click="resetForm('addTagData')">取消</el-button>
            </el-form-item>
          </el-form>
        </el-col>
      </el-row>
    </el-dialog></div>
</template>

<script>
    export default {
      props: {
        tableArray: {
          type:Array,
          default: ()=>[]
        }
      },
      data(){
        return {
          dialogVisible:false,
          tableData: { },
          rules: {
            title: [
              {required: true,message: '标题名称不能空',trigger: 'blur'},
            ],
          }
        }
      },
      methods:{
        //  弹出框编辑模型
        relationFrom(row){
          this.dialogVisible = !this.dialogVisible
          this.reset()
          this.tableData = Object.assign({},row)
          console.log(this.tableData)
        },
        // todo 规则重置
        // 表单重置
        reset() {
          if (this.$refs['addTagData']) {
            this.$refs['addTagData'].resetFields();
          }
        },
        //todo 提交
        submitForm(formName) {
          this.$refs[formName].validate((valid) => {
            if (valid) {
                   console.log(this.tableData)
            } else {
              this.$message.warning("添加失败,必填未写")
              return false;
            }
          });
        },
        resetForm(formName) {
          this.dialogVisible =!this.dialogVisible
          this.reset()
          // this.$refs[formName].resetFields();
        },
      }
    }
</script>
<style lang="scss" scoped>
  /deep/ .custonStyle .el-dialog__body{border-top: 1px solid #ccc;}
</style>

2.使用

<EditDialog ref="Edit"></EditDialog>
import {EditDialog} from './Popup/index'
components:{
  EditDialog,
},
methods: {
  //添加弹出框
  editRow(row){
    this.$refs.Edit.relationFrom(row)
  },
},
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/190278.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 网页内容变化实时监控提醒(多个复杂的监控条件)

    网页内容变化实时监控提醒(多个复杂的监控条件)网页内容更新后,如果更新的内容满足一个或多个条件时,就发出报警提醒。1、如下图所示,地震台网站实时显示地震信息,如果发生新的地震且震级大于等于5.0级、震源深度小于50千米时报警提醒。先观察一下页面布局,最新的地震信息永远显示在第一行,因此我们也只需要监控第一行地震数据更新就可以了。首先,点击木头浏览器自动控制菜单下的项目管理器。2、在木头浏览器项目管理窗口左侧的步骤树中点击右键,新建一个定时控制步骤,并设定间隔30秒执行一次。3、新建一个打开网页的步骤,输入地震台网站地址4、新建一个元素

    2022年7月17日
  • 基于Html5的移动端APP开发框架「建议收藏」

    基于Html5的移动端APP开发框架「建议收藏」快速增长的APP应用软件市场,以及智能手机的普及,手机应用:Native(原生)APP快速占领了APP市场,成为了APP开发的主流,但其平台的不通用性,开发成本高,多版本开发等问题,一直困扰着专业APP开发企业,和APP服务提供商。安卓和IOS的操作方式,开发模式,界面UI显示方面的差别,也使得原生APP的不同版本体验有很大的区别,光是做兼容性调测,都要花费开发企业不少的时间。近年来,另一种

    2022年6月15日
  • shell中的for循环用法详解

    shell中的for循环用法详解for命令:foriin的各种用法:foriin“file1”“file2”“file3”foriin/boot/*foriin/etc/*.confforiin$(seq-w10)–》等宽的01-10foriin{1..10}foriin$(ls)forIin$(

    2022年7月24日
  • 【最佳网页宽度及其实现】「建议收藏」

    1.设计网页的时候,确定宽度是一件很苦恼的事。以minifun…

    2022年1月18日
  • 104规约总结「建议收藏」

    104规约总结「建议收藏」一.概念遥测:远程测量。采集并传送运行参数,包括各种电气量(线路上的电压、电流、功率等量值)和负荷潮流等。遥控:远程控制。接受并执行遥控命令,主要是分合闸,对远程的一些开关控制设备进行远程控制。遥信:远程信号。采集并传送各种保护告警和开关量信息。遥调:远程调节。接受并执行遥调命令,对远程的控制量设备进行远程调试,如调节发电机输出功率。二.基地址对比类别1997版基地址2002版基地址遥信1H—-400H1H—-4000H遥测701H–

    2022年6月20日
  • Java程序设计(高级及专题)- IO流与序列化

    Java程序设计(高级及专题)- IO流与序列化

    2021年7月20日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号