父组件如何调用slot子组件的方法

来源:1-1 课程简介

人笨嫌刀钝

2018-06-06

场景是这样的:

模态窗(传入了handleSubmit的props,序列化的参数进行后续操作)

    slot (传入一个form和校验rules)

    footer  (预期结果是这里的 提交 按钮 可以触发slot中表单的校验和提交,但是slot不能设置ref,无法和其中的表单建立联系)



使用的 模态窗、表单及其校验 来自element-ui

http://element.eleme.io/#/zh-CN/component/dialog

http://element.eleme.io/#/zh-CN/component/form


写回答

1回答

人笨嫌刀钝

提问者

2018-06-07

已经搞定啦


整理下都做了什么:

含表单的模态窗(XxxDialog) 复用 通用模态窗(CommonDialog)


通用模态窗①处理title(添加/编辑 xxx)②显示footer(取消 提交(添加/编辑)按钮)③表单校验

XxxDialog props中的data 深拷贝到 data 的 form, data中form和rules传入CommontDialog


将多个form item写入slot,以便在CommentDialog中通过refs获取表单进行校验

CommentDialog 模版如下 老师有什么建议没

<template>
 <el-dialog :title="title"  :before-close="this.handleClose" visible>
   <el-form ref="form"  :model="form" :rules="rules" :label-width="this.labelWdith">
     <slot ref="slot"></slot>
   </el-form>
   <span slot="footer">
     <el-button @click="this.handleClose">取消</el-button>
     <el-button @click="this.submit" type="primary">{{submitText}}</el-button>
   </span>
 </el-dialog>
</template>

0
0

Vue2.5-2.6-3.0开发去哪儿网App 零基础入门到实战

课程紧跟Vue3版本迭代,企业主流版本Vue2+Vue3全掌握

10705 学习 · 8203 问题

查看课程