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

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

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)
  },
},
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

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