vue封装组件以及调用「建议收藏」
2023-06-13 09:14:51 时间
1.
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.cn/190278.html原文链接:https://javaforall.cn
相关文章
- vue 子组件调用父组件方法传参,父组件调用也传参_面试题vue组件封装思路
- Vue常用经典开源项目汇总参考
- 2022前端二面必会vue面试题汇总
- Vue(3)webstorm代码格式规范设置与vue模板配置
- Vue(27)vue-codemirror实现在线代码编译器「建议收藏」
- vue.js 渲染函数_Vue.js的不可渲染且可扩展的RTF编辑器[通俗易懂]
- Vue.nextTick核心原理
- vue源码分析-从new Vue开始
- 「后端小伙伴来学前端了」Vue中学会使用Echarts生成各种各样的图表,得学学了,必须要会的基本操作了
- vue自定义组件封装_vue组件的双向绑定实现
- VUE组件封装_vue组件内部双向绑定
- Vue组件封装的过程[通俗易懂]
- vue实现一个弹窗组件_vue弹窗组件封装
- vue业务组件封装_怎么去设计一个组件封装
- 请说下封装 vue 组件的过程?_组件二次封装的必要性
- Vue-Router根据用户权限添加动态路由(侧边栏菜单)
- 今天讲vue讲解专栏里的VUE组件
- VUE讲解系列- - -Vuex内容讲解(二)
- Vue-slot插槽的所有使用方法
- vue如何二次封装一个高频可复用的组件
- Vue中的防抖函数封装和使用
- Vue提示框组件vue-notification使用实例演示
- vue main.js中app绑定的是index.html还是App.vue中详解编程语言
- Vue如何利用Redis加速应用程序性能(vue如何使用redis)
- 从零开始Vue项目中使用Redis(vue使用redis)
- 使用Vue和Redis创建完美的后台应用(vue redis后台)
- 构建基于Vue与Redis的高性能缓存系统(VUE redis缓存)