当前位置: 首页 > wzjs >正文

东莞做微网站wordpress下载最新版本

东莞做微网站,wordpress下载最新版本,网络营销专业是做什么的,西安网站建设加q479185700需求&#xff1a;封装一个表单弹框组件&#xff0c;弹框和表单是两个组件&#xff0c;表单以插槽的形式动态传入弹框组件中。 使用的方式如下&#xff1a; 直接上代码&#xff1a; MyDialog.vue 弹框组件 <template><el-dialog:titletitle:visible.sync"dialo…

需求:封装一个表单弹框组件,弹框和表单是两个组件,表单以插槽的形式动态传入弹框组件中。

使用的方式如下:

直接上代码:

MyDialog.vue 弹框组件

<template><el-dialog:title=title:visible.sync="dialogVisible":close-on-click-modal="false"width="40%"><slot name="content"></slot><span slot="footer" class="dialog-footer"><el-button size="mini" @click="handleCancelClick">取 消</el-button><el-button size="mini" type="primary" @click="handleOkClick">确 定</el-button></span></el-dialog>
</template><script>
export default {name: "MyDialog",props: {title: {type: String},message: {type: String},icon: {type: String,default: "info"},handleCancel: {type: Function},handleOk: {type: Function}},data() {return {dialogVisible: true,}},methods: {handleCancelClick() {this.dialogVisible = false;this.handleCancel();},handleOkClick() {this.dialogVisible = false;this.handleOk();},handleTestClick() {this.$emit('test-click')},}
}
</script><style scoped>/deep/.el-dialog__body {padding: 15px 20px;}/deep/ .el-dialog__header {padding: 2px 10px 2px;background-color: #1E2C3D;color: white;}/deep/ .el-dialog__title {color: white;font-size: 13px;font-family: 微软雅黑,serif;}/deep/ .el-dialog__headerbtn {top: 6px;}/deep/ .el-dialog__headerbtn .el-dialog__close {color: #fff;}</style>

 MyDialog.js 文件

import Vue from 'vue';
import MyDialog from "@/components/dialog4/MyDialog.vue";
import EventBus from "@/lib/event-bus";/*** 弹框组件的构造器* @param ctxCpm* @param dlgProps* @param onOkClick* @param onCancelClick* @returns {ExtendedVue<Vue, unknown, unknown, unknown, Record<never, any>, {}, ComponentOptionsMixin, ComponentOptionsMixin>|VNode}*/
function getDialogConstructor(ctxCpm, dlgProps, onOkClick, onCancelClick) {return Vue.extend({render(h) {return h(MyDialog, {props: {...dlgProps,handleOk: onOkClick,handleCancel: onCancelClick}},[h(ctxCpm, {slot: 'content',ref: 'myform',},)])}})
}// 暴露此函数供外部组件调用
/*** * @param ctxCpm     表单组件 * @param dlgProps   弹框组件的配置项props* @param onOkClick  确认按钮点击事件回调函数* @param onCancelClick 取消按钮点击事件回调函数* @returns {(function(): void)|*}  弹窗关闭后的回调函数*/
export const useDialog = (ctxCpm, dlgProps, onOkClick, onCancelClick) => {let DialogConstructor = getDialogConstructor(ctxCpm, dlgProps, () => {EventBus.$emit('form-submit', {callback: (formData) => {onOkClick(formData);}});}, onCancelClick);const dlg = new DialogConstructor();const dlgInstance = dlg.$mount();document.body.appendChild(dlgInstance.$el);return () => {dlgInstance.$el.remove();dlgInstance.$destroy();EventBus.$off("form-submit");		// 移除表单提交事件监听}
}

UserForm.vue 表单组件

<template><el-form><el-form-item label="用户名"><el-input v-model="form.name"></el-input></el-form-item><el-form-item label="年龄"><el-input v-model="form.age"></el-input></el-form-item><el-form-item label="住址"><el-input v-model="form.address"></el-input></el-form-item></el-form>
</template><script>
import EventBus from "@/lib/event-bus";export default {name: "UserForm",props: {dlgProps: Object},data() {return {form: {name: '',age: 0,address: ''}}},methods: {takeFormData() {return {...this.form}}},created() {// 监听表单提交(确认按钮点击)EventBus.$on('form-submit', (p) => {p.callback(this.takeFormData());});}
}
</script><style scoped></style>

MyDialogTest.vue 组件中调用

<template><div><el-button @click="handleClick">点我弹出用户组件弹框</el-button></div>
</template><script>
import {useDialog} from "@/components/dialog4/MyDialog";
import UserForm from "@/components/dialog4/UserForm";export default {name: "MyDialogTest",methods: {handleClick() {const close = useDialog(UserForm, {title: "新增用户表单", message: "是否确定?", icon: "warn"}, (params) => {console.log("Test.....", params);close();}, () => {console.log("取消按钮被点击");close();})}}
}
</script><style scoped></style>

效果如下:


文章转载自:

http://m1WWUaPc.Lnrhk.cn
http://gkRThUZs.Lnrhk.cn
http://D5OKvWNi.Lnrhk.cn
http://hdvpTMtS.Lnrhk.cn
http://RtVNptFK.Lnrhk.cn
http://35qXQtA1.Lnrhk.cn
http://Z4w3jpyx.Lnrhk.cn
http://hFnFVNdh.Lnrhk.cn
http://LGHuiLlN.Lnrhk.cn
http://SljADbOL.Lnrhk.cn
http://hnYZF2iW.Lnrhk.cn
http://IDaZXDmt.Lnrhk.cn
http://GjIwB63a.Lnrhk.cn
http://G06koWCe.Lnrhk.cn
http://z4WoqVRL.Lnrhk.cn
http://8rNLj9Yt.Lnrhk.cn
http://3jyjZT6u.Lnrhk.cn
http://ZcK0BJXz.Lnrhk.cn
http://GiQ6Kpqp.Lnrhk.cn
http://pr76kCxu.Lnrhk.cn
http://8CiblB2t.Lnrhk.cn
http://3bW470yE.Lnrhk.cn
http://S80fLRDo.Lnrhk.cn
http://rR2ugPqH.Lnrhk.cn
http://ANPirvkl.Lnrhk.cn
http://TGdVAtVD.Lnrhk.cn
http://HRFt8o56.Lnrhk.cn
http://VLvKNw1Q.Lnrhk.cn
http://V8kYmYgo.Lnrhk.cn
http://RvXYML4V.Lnrhk.cn
http://www.dtcms.com/wzjs/750326.html

相关文章:

  • 成都建站模板网站开发网站开发介绍人拿多少钱
  • 制作网站建设规划书的结构为妇幼医院网站建设方案
  • 正规营销型网站培训中心做网站实名认证总是失败怎么回事
  • 淘宝客是以下哪个网站的会员简称wordpress 浮动代码
  • 做彩票网站推广犯法吗建设网站需要数据库备份
  • 建设一个网站要多郑州众志seo
  • 做印刷广告的图片在哪个网站找国外免费源码共享网站
  • 广西桂平建设局网站河北涿州建设局网站
  • dw 8做的网站怎么上传网站建设英文怎么写
  • sae 网站备案自己可以免费做网站吗
  • 做网站东莞看盘神器app
  • php做不了大型网站吗响应式网站源代码
  • 软装设计案例网站开封北京网站建设
  • 郑州网站优化工资浙江省建设协会网站首页
  • 网站开发了下载文件需要网页开发的流程或者步骤是什么
  • 国内的网站空间网络营销软件排行
  • 织梦网站被植入广告自动搭建网站
  • 如何制作网站?新零售分销系统开发
  • 网站建设丶金手指花总12制作图片的软件叫什么
  • dw自己做网站需要什么区别手机网站支持微信支付吗
  • 网站在建设中 英语如何在建设部网站补录项目
  • 微信平台与微网站开发长沙seo优化外包公司
  • 评测网站做的那些条形图织梦的官方网站
  • 聊城网站营销信息angularjs的网站模板
  • 顶做抱枕网站wordpress自定义菜单插件
  • 手机网站 切图东莞单位网站建设
  • 海口建站网站模板怒江企业网站建设
  • 爱站网关键词珠海市斗门建设局网站
  • js做示爱网站例子vs2010怎么做网站前台
  • 济南定制网站制作公司无锡网络公司设计