更新时间:2022-12-20 15:46:52贡献者收藏我的文档设置返回文档使用须知小程序基础库从 1.7.0 版本开始支持自定义组件功能。通过调用 my.caniuse('component') 可判断自定义组件功能是否可在当前版本使用;从 1.14.0 版本开始,自定义组件有了较大改动,支持 component2 相关功能,通过调用 my.caniuse('component2') 可判断新自定义组件功能是否可在当前版本使用, component2 相关功能如下:●新增oninit、derivedatafromprops生命周期函数 。●支持使用 ref 获取自定义组件实例 。注意:●使用 component2 的相关功能,需要在 ide 中的 详情 > 项目配置 中,勾选 启用 component2 编译 。●使用自定义组件时,给自定义组件传递的属性可以在自定义组件内通过 this.props 获取,可查看 props。●自定义组件只能在 page 自身的 axml 文件和组件自身的 axml 文件中使用,不能通过 import 或 include 使用。 常见问题小程序依赖安装/引用参考。 小程序使用f2(@antv/my-f2)参考。 ref获取组件实例使用介绍参考。 小程序page页面,父组件,子组件相互传值调用方法参考。 worker render components is not sync参考。 引用第三方组件报错component is not defined参考。 小程序引入@antv/f2报错●@antv/f2 引入用于网页绘制,里面有用到 window 等,@antv/f2 不适于小程序。●f2针对小程序引入做了单独的封装可以 @antv/my-f2 安装并引用 。安装:npm install @antv/my-f2;引用:具体使用可安装完成@antv/my-f2后打开node_modules查看对应readme.md。 模板里可以使用自定义组件吗不可以在模板 template 中使用自定义组件。模板能创建成功,自定义组件不会生效。 自定义组件方法与对外属性methods 方法:自定义组件不仅可以渲染静态数据,也可以响应用户点击事件,进而处理并触发自定义组件重新渲染。methods 中可以定义任意自定义方法。与 page 不同,自定义组件需要将事件处理函数定义在 methods 中。 props 属性:自定义组件可以接受外界的输入,做完处理之后,还可以通知外界说:做完了。这些都可以通过 props 实现。 自定义组件的样式如何只作用于当前组件使用 sass 等预编译 css,外层加上一层 id 做隔离。 为什么自定义组件影响到其它组件,导致页面混乱css 命名时不使用相同名称和类名来避免冲突造成页面混乱。 自定义组件oninit生命周期函数没有触发●检查代码是否编写正确,查看调试器是否存在报错。●oninit 是基础库版本 1.14.0 开始支持检查当前基础库版本是否超过,基础库低于 1.14.0 可以通过升级到最新版 ide 开发者工具或者最新支付宝客户端来解决。●oninit 依赖 component2 编译,需要在ide中的 详情 > 项目配置 中,勾选启用 component2 编译,检查是否 启动 component2 编译。 自定义组件derivedatafromprops生命周期函数没有触发●检查代码是否编写正确,查看调试器是否存在报错。●derivedatafromprops 是基础库版本 1.14.0 开始支持检查当前基础库版本是否超过,基础库低于 1.14.0 可以通过升级到最新版 ide 开发者工具或者最新支付宝客户端来解决。●derivedatafromprops 依赖 component2 编译,需要在 ide 中的 详情 > 项目配置 中,勾选 启用 component2 编译,检查是否 启动 component2 编译。