Vue有关子组件向父组件传值问题(已解决)

简介: Vue有关子组件向父组件传值问题(已解决)
今天在写后台的时候,遇到一个问题,页面是tab进行切换的,然后很多类似的代码,于是我这边就抽出一个单独的页面进行编写,但是后面写完之后,需要根据子组件的筛选条件进行表单数据的渲染,查了有关资料,完美解决 :以下是解决方案:

父组件

<el-tabs v-model="activeName" @tab-click="handleClick" type="border-card">
      <el-tab-pane label="全部" name="all">
        <all :receive="receive"></all>
      </el-tab-pane>
      <el-tab-pane label="签署中" name="sign">
        <sign :receive="receive"></sign>
      </el-tab-pane>
      <el-tab-pane label="已完成" name="comple">
        <comple :receive="receive"></comple>
      </el-tab-pane>
      <el-tab-pane label="即将截至签署" name="cutOff">
        <cutOff :receive="receive"></cutOff>
      </el-tab-pane>
    </el-tabs>
  methods: {
    //接受子组件传来的搜索条件
    receive(searchInfo) {
      console.log("this.$refs.allInfo:", searchInfo);
      //todo逻辑操作
    },
   }

子组件

<template>
  <el-card class="box-card">
        <el-form-item label="生效日期" v-show="showSearch">
          <el-date-picker
            v-model="form.effectivetime"
            value-format="yyyy-MM-dd HH:mm:ss"
            type="datetimerange"
            start-placeholder="开始日期"
            end-placeholder="结束日期"
            :default-time="['00:00:00']"
          >
          </el-date-picker>
        </el-form-item>
        <el-form-item label="到期日期" v-show="showSearch">
          <el-date-picker
            v-model="form.expiretime"
            value-format="yyyy-MM-dd HH:mm:ss"
            type="datetimerange"
            start-placeholder="开始日期"
            end-placeholder="结束日期"
            :default-time="['00:00:00']"
          >
          </el-date-picker>
        </el-form-item>
  </el-card>
</template>
<script>
export default {
  name: "all",
  props: ["receive"],//接受父组件定义的变量
  data() {
    return {
      form: {
        status:"",
        effectiveStartTime: "",
        effectiveEndTime: "",
        expiryStartTime: "",
        expiryEndTime: "",
      },
      showSearch: false,
    };
  },
  created() {},
  methods: {
    handleQuery() {
      // 调用传入的函数,将name传递给父组件
      this.receive(this.form);
      //这样 父组件 在receive(){}方法中就可以获取到子组件传来的数值信息了~
    },
};
</script>


相关文章
|
1月前
|
JavaScript API
vue使用hook:声明周期来监听子组件的声明周期
本文介绍了如何在Vue中使用生命周期钩子来监听子组件的生命周期事件,包括在子组件内部监听和在父组件中监听子组件的生命周期钩子。
39 0
|
6天前
|
监控 JavaScript 开发者
在 Vue 中,子组件为何不可以修改父组件传递的 Prop,如果修改了,Vue 是如何监控到属性的修改并给出警告的
在 Vue 中,子组件不能直接修改父组件传递的 Prop,以确保数据流的单向性和可预测性。如果子组件尝试修改 Prop,Vue 会通过响应式系统检测到这一变化,并在控制台发出警告,提示开发者避免这种操作。
|
1月前
|
JavaScript
Vue在子组件中判断父组件是否传来事件
本文介绍了在Vue中如何通过`vm.$listeners`对象来判断父组件是否传递了特定的事件给子组件,并展示了如何检查事件是否存在以及相应的处理方法。
103 0
Vue在子组件中判断父组件是否传来事件
|
JavaScript 测试技术 容器
Vue2+VueRouter2+webpack 构建项目
1). 安装Node环境和npm包管理工具 检测版本 node -v npm -v 图1.png 2). 安装vue-cli(vue脚手架) npm install -g vue-cli --registry=https://registry.
1042 0
|
2天前
|
缓存 JavaScript 前端开发
《基础篇第4章:vue2基础》:使用vue脚手架创建项目
《基础篇第4章:vue2基础》:使用vue脚手架创建项目
11 3
|
5天前
|
JavaScript 前端开发 开发者
Vue v-for 进阶指南:in 与 of 的区别及应用场景 | 笔记
Vue.js 中的 v-for 是强大的遍历指令,但其中的 in 和 of 关键字往往被开发者忽视。尽管它们的用法相似,但适用的场景和数据结构却各有不同。本文将详细探讨 v-for 中 in 和 of 的区别、适用场景以及在实际开发中的最佳使用时机。通过理解它们的差异,你将能够编写更加高效、简洁的 Vue.js 代码,灵活应对各种数据结构的遍历需求。
40 6
|
2天前
|
缓存 JavaScript
Vue 中 computed 与 method 的区别
【10月更文挑战第15天】computed 和 method 是 Vue 中两个重要的选项,它们在功能和特点上存在着明显的区别。理解并合理运用它们的区别,可以帮助我们构建更高效、更具可维护性的 Vue 应用。在实际开发中,要根据具体情况灵活选择使用,以满足不同的需求。
5 2
|
2天前
|
JavaScript 搜索推荐 UED
vue的自定义指令
【10月更文挑战第14天】Vue 自定义指令为我们提供了一种强大的工具,使我们能够更灵活地控制和扩展 Vue 应用的行为。通过合理地使用自定义指令,可以提高开发效率,增强应用的功能和用户体验。
|
3天前
|
JavaScript
|
5天前
|
缓存 JavaScript 前端开发
Vue 中动态导入的注意事项
【10月更文挑战第12天】 在 Vue 项目中,动态导入是一种常用的按需加载模块的技术,可以提升应用性能和效率。本文详细探讨了动态导入的基本原理及注意事项,包括模块路径的正确性、依赖关系、加载时机、错误处理、缓存问题和兼容性等,并通过具体案例分析和解决方案,帮助开发者更好地应用动态导入技术。