问题描述
HBuilder X 1.9.2.20190417, 微信小程序开启usingComponents
定义Vue组件使用extends, mixins扩展而来的组件问题,子组件无法使用父组件的props
H5下正常, 微信小程序有问题, 代码片段如下:
/* parent.vue */
<template>
<view :class="computedClass"><slot></slot></view>
</template>
export default {
name: 'parent',
props: {
// 扩展样式类
eClass: {
type: [String, Array]
},
// 尺寸样式类
size: {
type: String,
// default | mini
default: 'default'
}
},
computed: {
computedClass () {
return [
// 扩展样式
this.eClass,
// 尺寸样式类
'btn_size_' + this.size
];
}
}
}
/* children.vue */
<template>
<view :class="computedClass"><slot></slot></view>
</template>
import Parent from 'xxx'
export default {
name: 'children',
extends: Parent, // 或 mixins: [Parent] 效果一样.
mounted () {
// index.vue中使用children组件,打印computendClass 控制台显示:
// ["", ""]
// index.vue声明children组件时传递的eClass和size的值没有传递进来.
console.log(this.computedClass);
}
}
/* index.vue 使用children组件 */
<template>
<!-- e-class和size样式类并不会生效 -->
<children e-class="my-btn" size="mini"></children>
</template>
.....
3 个回复
Trust - 少说废话
HBuilderX 1.9.3 及 CLI 均已更新
Trust - 少说废话
目前不支持 props 的继承,请关注更新
Donny (作者)
除此之外,也希望后续能支持动态组件
2019-04-18 14:43
12371
电话好多好多好多遍