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

简介: 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>
相关文章
|
2天前
|
JavaScript 前端开发 UED
Vue工具和生态系统: Vue.js和服务器端渲染(SSR)有关系吗?请解释。
Vue.js是一个渐进式JavaScript框架,常用于开发单页面应用,但其首屏加载较慢影响用户体验和SEO。为解决此问题,Vue.js支持服务器端渲染(SSR),在服务器预生成HTML,加快首屏速度。Vue.js的SSR可手动实现或借助如Nuxt.js的第三方库简化流程。Nuxt.js是基于Vue.js的服务器端渲染框架,整合核心库并提供额外功能,帮助构建高效的应用,改善用户体验。
4 0
|
3天前
|
Web App开发 JavaScript 开发者
Vue工具和生态系统:什么是Vue DevTools?如何使用它?
Vue Devtools是Vue.js官方的浏览器扩展,用于简化应用调试和优化。可在Chrome和Firefox等浏览器上安装,集成到开发者工具中。安装步骤包括下载源码、npm安装、修改manifest.json并加载编译后的扩展。启用后,开发者能查看Vue组件树,检查属性,并在允许的情况下编辑data,提升开发效率。
5 0
|
3天前
|
JavaScript 测试技术
vue不同环境打包环境变量处理
vue不同环境打包环境变量处理
13 0
|
3天前
|
JavaScript
Vue Steps步骤组件用法
Vue Steps步骤组件用法
12 0
|
3天前
|
JavaScript
Vue项目使用bpmn预览流程图
Vue项目使用bpmn预览流程图
8 0
|
3天前
|
JavaScript
vue中高精度小数问题(加减乘除方法封装)处理
vue中高精度小数问题(加减乘除方法封装)处理
14 0
|
3天前
|
JavaScript
vue项目使用可选链操作符编译报错问题
vue项目使用可选链操作符编译报错问题
11 0
|
3天前
|
JavaScript
Vue项目启动报错处理
Vue项目启动报错处理
7 1
|
3天前
|
JavaScript
vue项目开发笔记记录(四)
vue项目开发笔记记录
41 0
|
3天前
|
JavaScript 定位技术
vue项目开发笔记记录(二)
vue项目开发笔记记录
50 0