admin 管理员组文章数量: 887021
2024年2月19日发(作者:r语言中header是什么意思)
vue props 数组对象默认值
【实用版】
目录
组件 props 数组对象传参的默认值
单向数据流修改 props 数据
prop 不同数据类型设置默认值
props 传值(对象)更新不显示的问题
正文
一、Vue 组件 props 数组对象传参的默认值
在 Vue 组件中,当我们需要接收一个数组或对象类型的 props 参数时,我们需要为它设置一个默认值。如果不设置默认值,将会报错:Invalid
default value for prop。那么如何设置默认值呢?我们可以使用一个工厂函数来返回默认值,如下:
```javascript
export default {
props: {
propsName: {
type: Array,
default: () => {
return [];
},
},
},
第 1 页 共 4 页
};
```
二、Vue 单向数据流修改 props 数据
Vue 的数据流是单向的,所以我们通常的做法是在父组件中通过事件来修改子组件的 props 数据。但是,有没有办法在子组件中直接修改
props 数据呢?答案是有的。我们可以使用`.sync`修饰符来实现这个功能。如下:
```html
```
```javascript
// 子组件
export default {
props: {
arrayData: {
type: Array,
default: [],
},
},
methods: {
updateArrayData(newData) {
第 2 页 共 4 页
this.$emit("update:arrayData", newData);
},
},
};
```
三、Vue prop 不同数据类型设置默认值
当我们在 Vue 组件中设置 props 参数时,不同的数据类型需要设置不同的默认值。比如,对于数字类型的 props,我们可以设置一个默认值为 0:
```javascript
export default {
props: {
propName: {
type: Number,
default: 0,
},
},
};
```
对于字符串类型的 props,我们可以设置一个默认值为空字符串:
```javascript
export default {
props: {
第 3 页 共 4 页
propName: {
type: String,
default: "",
},
},
};
```
四、Vue props 传值(对象)更新不显示的问题
有时候,我们在 Vue 组件中更新 props 传过来的对象数据时,会发现数据并没有被正确更新。这可能是因为我们没有正确地使用`this.$forceUpdate()`方法来强制更新组件。
第 4 页 共 4 页
版权声明:本文标题:vue props 数组对象默认值 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1708335566h520269.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论