• 在子页面(弹窗)的表单中填写完信息点击提交按钮后,如何将表单中的内容传递给父页面中的table


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 上帝也发愁 2024-03-30 01:06 采纳率: 0% 浏览 6 首页/ 前端 / 在子页面(弹窗)的表单中填写完信息点击提交按钮后,如何将表单中的内容传递给父页面中的table vue.jselementui前端 在子页面(弹窗)的表单中填写完信息点击提交按钮后,如何将表单中的内容传递给父页面中的table 具体代码如下 父页面 子页面(点击el-button时弹出的页面) 展开全部 收起 写回答 好问题 1 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 结题 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    4条回答 默认 最新

    • 专家-赤兔[在线] 全栈领域优质创作者 2024-03-30 01:06
      关注

      引自免费微信小程序:皆我百晓生

      要实现将子页面表单中的数据通过Vue.js传递给父页面表格,我们可以通过以下步骤进行操作:

      1. 在父页面,我们创建一个名为addpartinfo.vue的子组件,并为其设置一个模板。
      
      
      
      

      子页面:

      
      
      
      

      解决方案:

      1. 在子页面组件中添加ref属性,例如:ref="childPage"
      2. 在子页面组件中,定义一个方法用于提交表单数据,并在提交按钮的点击事件中调用该方法。
      3. 在提交方法中,获取表单数据,通过this.$emit('submit', formData)将表单数据作为参数触发父页面的submit事件。
      4. 在父页面组件中,定义一个方法来接收子页面传递过来的表单数据,并将其添加到父页面的tableData数组中。
      5. 在父页面组件的模板中,通过的方式引入子页面组件,并将子页面的ref属性设置为childPage,监听子页面的submit事件,并将事件触发时执行handleFormSubmit方法。

      修改后的代码如下:

      父页面:

      
      
      
      

      子页面:

      
      
      
      

      请根据实际情况修改代码中的表单项定义和表格列定义,以适应你的具体需求。

      展开全部

    评论
  • CSDN-Ada助手 CSDN-AI 官方账号 2024-03-30 04:02
    关注

    【相关推荐】




    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论
  • GISer Liu 2024-03-30 05:21
    关注

    该回答引用自GPT-3.5,由博主GISer Liu编写:

    根据你的描述,你想在子页面弹窗的表单中填写完信息后,点击提交按钮,将表单中的内容传递给父页面中的表格。为了实现这个功能,你可以通过以下步骤进行操作:

    1. 在子页面中,定义一个事件,当提交按钮被点击时触发,将表单中的数据传递给父页面。
    2. 在父页面中,监听子页面触发的事件,并更新表格数据。
      下面是具体的实现代码:

      子页面(弹窗)代码:

      vueCopy code
      <template>
      <div class="card-fill layout-padding">
      <el-card shadow="hover" class="layout-padding-auto">
      <el-form ref="formRefInfo" :model="stateInfo.vmModel" label-width="100px">
      <el-row>
      <el-col :xs="24" :lg="12" class="mb20">
      <el-form-item ref="Entity_Name_FormItem" prop="Entity.Name" label="姓名)">
      <el-input v-model="stateInfo.vmModel.Entity.Name" clearable>el-input>
      el-form-item>
      el-col>
      <el-col :xs="24" :lg="12" class="mb20">
      <el-form-item ref="Entity_Address_FormItem" prop="Entity.Address" label="居住地">
      <el-input v-model="stateInfo.vmModel.Entity.Address" clearable>el-input>
      el-form-item>
      el-col>
      el-row>
      <div style="text-align:right;">
      <el-button @click="onSubmitPartyInfo" type="primary" button-text="提交" style="margin-top:15px;" />
      <el-button @click="onClosePartyInfo" type="primary" button-text="取消" style="margin-top:15px;" />
      div>
      el-form>
      el-card>
      div>
      template>
      <script setup lang="ts" name="添加人员">
      import { ref } from 'vue';
      const formRefInfo = ref();
      const stateInfo = reactive({
      vmModel: {
      Entity: {
      Name: null,
      Address: null,
      },
      },
      });
      const onClosePartyInfo = () => {
      closeDialog();
      };
      const onSubmitPartyInfo = () => {
      // 触发事件将数据传递给父页面
      emit('submitPartyInfo', stateInfo.vmModel.Entity);
      };
      script>
      

      父页面代码:

      vueCopy code
      <template>
      <div class="card-fill layout-padding">
      <el-form ref="formRe" :model="state.vmModel" label-width="100px">
      <el-row>
      <el-col :xs="24" :lg="24" class="mb20">
      <el-form-item ref="Entity_CaseDescription_FormItem" prop="Entity.CaseDescription" label="事件">
      <el-input type="textarea" rows=5 v-model="state.vmModel.Entity.CaseDescription" clearable>el-input>
      el-form-item>
      el-col>
      el-row>
      <el-card class="mb20 pcard" shadow="hover">
      <template #header>
      <div class="cardheader">
      <div class="headertitle">
      <span>人员span>
      div>
      <div>
      <el-button type="primary" text  @click="AddPartInfos">添加el-button>
      div>
      div>
      template>
      <el-table :data="state.vmModel.Entity.PartyInfos" style="width: 100%">
      <el-table-column prop="Name" label="名称" width="180" />
      <el-table-column prop="Address" label="地址" />
      el-table>
      el-card>
      el-form>
      div>
      template>
      <script setup lang="ts" name="新增">
      import { ref } from 'vue';
      const formRef = ref();
      const state = reactive({
      vmModel: {
      Entity: {
      CaseDescription: null,
      PartyInfos: [] as any[],
      },
      },
      });
      const AddPartInfos = () => {
      // 打开子页面弹窗
      other.openDialog('添加当事人', PartyInfoDialog, null, null);
      };
      // 监听子页面提交事件,更新父页面数据
      const onPartyInfoSubmitted = (partyInfo) => {
      state.vmModel.Entity.PartyInfos.push(partyInfo);
      };
      // 页面加载时
      onMounted(() => {});
      // 定义子组件向父组件传值/事件
      const emit = defineEmits(['refresh', 'closeDialog', 'submitPartyInfo']);
      // 关闭弹窗
      const closeDialog = () => {
      emit('closeDialog');
      };
      script>
      
      在父页面中,监听子页面提交事件submitPartyInfo,当子页面提交按钮被点击时,会触发该事件,并将表单中的数据传递给父页面,父页面收到数据后更新表格数据,实现了表单内容传递的功能。

    如果该回答解决了您的问题,请采纳!如果没有,请参考以下方案进行修订

    用户答题指南

    展开全部

    评论
编辑
预览

报告相同问题?

  • 相关阅读:
    Redis6的IO多线程分析
    学SLAM的女生,很酷
    [附源码]java毕业设计 停车场管理系统
    《Aerosol Science and Technology》期刊介绍(SCI 3区)
    VTK编译解决CMake的“could not find any instance of Visual Studio”的问题
    C#的预处理指令
    RPC client之OpenFeign
    python3:split()分割字符串为字符/字符串列表 2023-11-20
    免费无版权可商用资源|自媒体创业者、设计师、电商商家必备
    浏览器与服务器通信过程(HTTP协议)
  • 原文地址:https://ask.csdn.net/questions/8081255