export default {
props: {
type: {
type: String,
default: 'default'
},
},
render(createElement) {
const { type } = this
console.log('type:', type)
// 警告按钮输出
if (type === 'warn') return createElement(
'view', // 标签名称
{
class: {
'bt-button': true,
'bt-button-warn': true
}
},
this.$slots.default // 子节点数组
)
// 默认输出按钮
return createElement(
'view', // 标签名称
{
class: {
'bt-button': true
}
},
this.$slots.default // 子节点数组
)
}
}
- 发布:2021-09-04 11:51
- 更新:2021-09-05 01:05
- 阅读:442
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: macOS Mojave 10.14.6
HBuilderX类型: 正式
HBuilderX版本号: 3.2.3
手机系统: Android
手机系统版本号: Android 6.0
手机厂商: 模拟器
手机机型: mumu模拟器
页面类型: vue
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
在页面上引入js,然后声明组件就可以看到
在页面上引入js,然后声明组件就可以看到
预期结果:
type:, warn
type:, warn
type:, warn
type:, warn
type:, warn
type:, warn
实际结果:
type:, warn
type:, warn
type:,
type:, warn
type:, warn
type:,
bug描述:
在写jsx组件中,组件重复渲染,前两次渲染props正常,但是最后一次输出为default,在h5正常输出props. 看了论坛上都是小程序的,没有报app的,想问下官方大佬怎么回事
注意:无论是window还是mac都是一样的结果
1***@qq.com (作者) - 普通开发者
补充下,试过华为nova 7 5g版(鸿蒙系统),红米redmi5 android8.0.1是一样的结果,都渲染了三次,最后一次的结果是props默认值default