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

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

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


相关推荐

  • C#之ArcGIS二次开发

    C#之ArcGIS二次开发根据图层名称获取图层publicIFeatureLayergetLayer(AxMapControlaxMapControl,stringlayerName){if(axMapControl.LayerCount>0){for(inti=0;i

    2022年6月26日
    25
  • FusionChartsFree的简单用法[通俗易懂]

    FusionChartsFree的简单用法[通俗易懂]  今天发现个不错的显示图表的东西—-FusionChartsFree,有免费版的,有收费版的,免费版的我用着就不错。收费的可能更好一点儿。  看了看官方提供的例子,我是在JSP中使用,想到一个简单的用法,贴在下面:[code="html"]结果显示 FusionCharts. varchart…

    2022年7月13日
    18
  • java web注释_webservice命名空间

    java web注释_webservice命名空间此注示用来标明此java类为某个WebService的实现类或者标明此java接口定义了某个WebService的接口。@WebService有六个参数可以用来配置这个WebService的定义:endpointInterface:定义服务抽象WebService协定的服务端点接口的完整名称,如果注解通过endpointInterface属性引用了某个SEI,那么还必须使用@webservice注解来注解该SEI。name:默认的port名为”实现类名+Port”,binding名为”实现类

    2022年10月16日
    3
  • pytest重试_pytest失败重跑

    pytest重试_pytest失败重跑安装:pip3installpytest-rerunfailures重新运行所有失败用例要重新运行所有测试失败的用例,请使用–reruns命令行选项,并指定要运行测试的最大次数:$py

    2022年7月30日
    14
  • dell服务器安装Ubuntu16.04桌面版(系统安装程序找不到磁盘,无法分区)「建议收藏」

    dell服务器安装Ubuntu16.04桌面版(系统安装程序找不到磁盘,无法分区)「建议收藏」前言前段时间笔者所在的公司服务器突然硬盘挂了,”剧情”需要,笔者担当起了运维的角色,自行在新到的硬盘安装系统,搭建服务器环境…p.s.笔者因为工作需要,在服务器上安装了Ubuntu16.04的桌面版。因为有时候确实很需要图形界面的Linux系统。2333本文仅供有系统安装的经验的同学参考…正文这里废话不多说,桌面版的Ubuntu(后面简称桌板)的和服务器版的Ubuntu(后面简称服版)对于普通电脑来说,安装方式都一样,那么对于服务器来说,桌版和服版来说,安装方式略有不同(这里后面会说到),但工具还

    2025年6月13日
    4
  • MapReduce 规划 六系列 MultipleOutputs采用

    MapReduce 规划 六系列 MultipleOutputs采用

    2022年1月12日
    47

发表回复

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

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