解决vue中props对象中设置多个默认值的问题

 更新时间:2024年04月09日 09:33:30   作者:songywaa  
props中设置了默认值,但是获取时(获取父页面没有传的属性) 打印出来是undefined,所以本文给大家介绍了解决vue中props对象中设置多个默认值的问题,需要的朋友可以参考下

1、遇到问题:

props中设置了默认值,但是获取时(获取父页面没有传的属性) 打印出来是undefined

子组件

props: { 
    paramsObj: {
    type:Object,
        default:() => {
            return {
                tabList: [],
                tableFixedHeader: [],
                showHandleCol:false,
                handleType:[], 
                isTagData:false,
         	}
     	}
    }
},

父组件

<RealViewModel :paramsObj="params"></RealViewModel>
params: {
	  type: "water",
	  tabList: [
	      {
	          name: "浓度数据",
	          id: "ND"
	      },
	      {
	          name: "水域水质分析",
	          id: "SY"
	      }
	  ],
	  tableFixedHeader: [
	      {name:'时间',code:'DT',isFixed:true},
	  ]
}

此时在子组件中,只能获取到父组件传过来的值,而没有传的属性没有了(下图)

在这里插入图片描述

2、原因:

props 默认值的作用:

它只在没有传参时才会被读取,并不会为你的参数对象补齐属性,

3、解决方法:

使用计算属性computed,解决 父页面不传参数情况

子组件

props: { 
	paramsObj: {
         type:Object,
         default:() => {
             return {}
         }
     }
 },
 computed:{
     params(){ 
         return Object.assign({
             tabList: [],
             tableFixedHeader: [],
             showHandleCol:false,
             handleType:[], 
             isTagData:false,
         },this.paramsObj);
     }
 },

页面中直接 params.isTagData 就能直接用了

打印一下看结果:自动给补齐了父页面没有传的属性(下图)

在这里插入图片描述

到此这篇关于解决vue中props对象中设置多个默认值的问题的文章就介绍到这了,更多相关vue props多个默认值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue常用的数字孪生可视化的自适应方案

    vue常用的数字孪生可视化的自适应方案

    这篇文章主要为大家介绍了vue常用的数字孪生可视化的自适应方案详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • Vue Echarts实现多功能图表绘制的示例详解

    Vue Echarts实现多功能图表绘制的示例详解

    作为前端人员,日常图表、报表、地图的接触可谓相当频繁,今天小编隆重退出前端框架之VUE结合百度echart实现中国地图+各种图表的展示与使用;作为“你值得拥有”专栏阶段性末篇,值得一看
    2023-02-02
  • Vue uni-app框架实现上拉加载下拉刷新功能

    Vue uni-app框架实现上拉加载下拉刷新功能

    uni-app是一个使用Vue.js(opens new window)开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台
    2022-09-09
  • Vue常用的修饰符的作用详解

    Vue常用的修饰符的作用详解

    为了方便大家写代码,Vue 给大家提供了很多方便的修饰符,比如我们经常用到的取消冒泡,阻止默认事件等等,这篇文章将给大家分享Vue 中的常用的修饰符
    2022-08-08
  • vue中使用gantt-elastic实现可拖拽甘特图的示例代码

    vue中使用gantt-elastic实现可拖拽甘特图的示例代码

    这篇文章主要介绍了vue中使用gantt-elastic实现可拖拽甘特图,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • vue-router中query取值的坑及解决

    vue-router中query取值的坑及解决

    这篇文章主要介绍了vue-router中query取值的坑及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • solid.js响应式createSignal 源码解析

    solid.js响应式createSignal 源码解析

    这篇文章主要为大家介绍了solid.js响应式createSignal 源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • Vs-code/WebStorm中构建Vue项目的实现步骤

    Vs-code/WebStorm中构建Vue项目的实现步骤

    本文主要介绍了在Vs-code/WebStorm中构建Vue项目,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • 仿照Element-ui实现一个简易的$message方法

    仿照Element-ui实现一个简易的$message方法

    这篇文章主要介绍了仿照Element-ui实现一个简易的$message方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Vue使用extend动态创建组件的实现

    Vue使用extend动态创建组件的实现

    本文主要介绍了Vue使用extend动态创建组件的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04

最新评论