关于vue父子组件的一个问题

现有一个表单,表单的提交按钮写在父组件里,表单的其他input单独写在子组件里,求教下怎么在父组件里提交的时候判断表单的子组件(即所有的input)验证通过了,想用emit,但是子组件里貌似没有按钮可以出发事件

 <q-page class="flex">
    <div style="width:100%;height:60px;border-bottom:1px solid #DDE2EE;margin:0px 2px 0 22px;line-height:60px;">
       <div class="pagetitle" style="float:left;font-size:14px;color:#2A396D">个人资料</div>
       <div class="close-tip" style="float:right;cursor:pointer;margin-right:22px;">
          <span class="icon iconfont iconguanbi1" style="font-size:15px;color:#A3AAC3;"></span>
       </div>
    </div>
  
    <div class="editbtngroup">
      <div class="sign_form_outline">
         <q-btn outline dense  class="getCodeBtn outline-button-light disable-light-btn mg10" @click="edit=!edit">
           <template v-slot:default>
               <span class="icon iconfont iconbaocun btndefault"></span>
               <span class="btn-text">保存</span>
            </template>
           </q-btn>
          <q-btn outline dense class="getCodeBtn outline-button-light disable-light-btn" @click="edit=!edit">
             <template v-slot:default>
               <span class="icon iconfont iconguanbi btndefault"></span>
               <span class="btn-text">取消</span>
            </template>
          </q-btn>
      </div>
    </div>
    
    <!--编辑个人资料 存放表单的子组件-->
    <edit-person-info v-else></edit-person-info>
  </q-page>
阅读 2k
3 个回答

可以考虑监听input的 input or keypress 来触发$emit事件

暂时想到两种方式。
第一种:直接用ref,调用每个子组件的check方法再检验一次。
第二种:用广播的形式将子组件的check方法调出来。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题