常见问题


本章节收集了常问问题,提问之前请先阅读该章节

rtaro-ui要怎么在真机上进行调试?我这边会超出2M上限

image.png
有两个办法,一个是用build模式构建,另外一个入口文件里是注释掉暂时不用的路由

组件的样式不生效,加了addGlobalClass也没用

如图,业务自定义组件的wxss只能影响业务自己的组件,所以要通过className传样式给rtaro-ui组件,从而改变rtaro-ui组件的样式,这个时候就必须放到app.wxss里才能生效。
常见问题 - 图2
详细资料见官方文档

componentDidHide在微信小程序为啥不触发

组件库里的componentDidHide触发,需要在调用这个组件的页面也有componentDidHide,不太合理的设计,目前只能先这样处理。

基于 Taro 开发第三方多端 UI 库

官方提供的方案,我们在此基础上进行了改造,h5模式下替换nerv为react,因此开发组件库脚手架时,可以直接使用frtaro-ui的源码,删除rtaro-ui中组件,增加自己的业务组件。

如何实现页面级复用

要实现页面级的复用,首先要使用上面提到的【基于 Taro 开发第三方多端 UI 库】开发一个多端组件库,建议每个页面至少一个组件,然后h5和小程序实现方式不一样,h5独立部署是一个站点,小程序独立开发一个插件(运营方式和小程序一样),站点和插件都调用开发出的多端组件库,这样可以保证最大程度实现多端重用。组件库,站点,插件使用的脚手架分别如下:
多端项目脚手架
多端组件库脚手架
小程序插件脚手架

出现xx问题怎么办?

在提问前,建议升级 taro(包括项目依赖@rtarojs和cli) 和 rtaro-ui 至最新版本,仍有问题请按模板提交 Issue

H5 模式下编译报错?

如果出现类似 You may need an appropriate loader to handle this file type 的问题,如下:

  1. ./node_modules/rtaro-ui/dist/h5/components/pagination/index.js 101
  2. :11
  3. Module parse failed: Unexpected token (101:11)
  4. You may need an appropriate loader to handle this file type.
  5. | };
  6. |
  7. > return <View className={classNames(rootClassName, classObject, this.props.
  8. className)} style={customStyle}>
  9. | <View className="at-pagination__operate">
  10. | <View className="at-pagination__btns">

请在 config/index.js 文件中添加如下配置项:

  1. h5: {
  2. esnextModules: ['rtaro-ui']
  3. }

如何自定义样式?

请查看 「自定义主题」 章节

自定义样式为什么没有生效(H5 生效,微信小程序没生效)?

rtaro-ui 自定义样式覆盖小程序组件样式使用到了 globalClass 这个微信小程序特性,由于微信小程序的限制,自定义的样式需要在 page 页面内使用,不能基于第三方组件再进行一层封装,这样做样式会无效。并且确保小程序调试基础库在 v2.2.3 以上。
此外,修改组件的样式,小程序会出现没有立即生效,这时候可以改下app.scss,触发app.wxss的更新,小程序中组件的样式就立即生效了,原因是组件的样式是在app.scss引入的。

如何修改边框、下划线样式?

边框下划线有些组件是使用 ::after::before 伪元素,在微信开发者工具中审查不到,但是实际是存在的,建议用 H5 模式审查样式。

是否有国际化?

目前暂不支持国际化。

是否可以在React脚手架里使用本UI库?

支持,需要依赖nervjs替换成React,详见gitlab

The “path” argument must be of type string

路径引用错误报下面异常(ts引入taro-ui的方式,不支持别名) 常见问题 - 图3

chooseImage在小程序里无法获取文件名

chooseImage小程序不支持获取文件名,所以上传图片ImagPikcer组件使用uploadFile无法获取到文件名

issue模板

如果你在本文档无法搜索到你的问题,请务必根据问题类型(错误报告或者新功能请求)复制如下模板,再到rtaro-ui上提issue,或者taro-template上提issue

错误报告

  1. - [x] 已经搜索 `issues` 发现没有重复的。
  2. ### 版本
  3. ### 环境(操作系统,浏览器)
  4. ### 重现链接或代码
  5. ### 重现步骤
  6. ### 期望的结果是什么?
  7. ### 实际的结果是什么?
  8. ### 补充说明(可选)

新功能请求

  1. - [x] 已经搜索 `issues` 发现没有重复的。
  2. ### 这个功能解决了什么问题?
  3. ### 你期望的 API 是怎样的
  4. ### 补充说明(可选)