开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
文档中心
凯发app官方网站的技术支持 & 案例 faq 
支付宝小程序
案例分析
sdk & demo下载
常见问题
常用工具
iot小程序
运维保障
小程序 > 支付宝小程序 > 常见问题 > 自定义组件常见问题
贡献者
收藏
我的文档
设置
使用须知
小程序基础库从 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 编译。 
内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 2022 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图