收藏
回答

自定义组件属性设置函数类型报错

问题模块 框架类型 问题类型 终端类型 微信版本 基础库版本
框架 小程序 Bug 微信iOS客户端 7.0.10 2.10.0

来自文档:“WXML 数据绑定:用于父组件向子组件的指定属性设置数据,仅能设置 JSON 兼容数据(自基础库版本 2.0.9开始,还可以在数据中包含函数)。”

但是给自定义组件属性直接设置为 Function 类型会报错:

Component({
  properties: {
    test: Function
  }
})

换一种方式设置又没问题:

Component({
  properties: {
    test: {
      type: Function
    }
  }
})

另外开发者工具(版本号:1.02.1911180)提供的 TS 类型定义不支持将属性设置为 Function 类型。

回答关注问题邀请回答
收藏

1 个回答

  • 小程序技术专员-LastLeaf
    小程序技术专员-LastLeaf
    01-13

    properties 不直接接收 Function 类型哦。你要传的话,可以设个 Object 类型然后放在对象字段里面。

    01-13
    赞同
    回复 2
    • M&S
      M&S
      01-14
      可是我试过是支持的,只要将 type 设为 null, 或者使用我问题主体的第二种写法。我希望如果你们支持就完整支持吧,properties 传 function 确实在某些情况下比较方便有用。谢谢。
      01-14
      回复
    • 小程序技术专员-LastLeaf
      小程序技术专员-LastLeaf
      01-14回复M&S
      null 只是不校验类型。现在直接传递 function 在一些边界 case 上会有难以解决的问题,所以我们暂时没有支持。
      01-14
      回复
登录 后发表内容
问题标签