关于uni-app的ui库、ui框架、ui组件

首先需要一个认知,传统vue的库,只是for web的,不能跨6端。而微信小程序的库,虽然可以跨到app,但不能跨到h5和百度支付宝小程序。
比如element ui只能用于h5,而vant ui有h5版和小程序版,h5版只能用于h5,而小程序版只能用于微信和app(uni-app在app侧支持使用小程序ui组件)。
想要6端通用的ui框架,需要基于vue的无dom操作的库。最好还是纯flex布局。
下图对跨端兼容性的说明比较清晰。

虽然很多传统vue库不跨端,但这并不意味着uni-app的生态缺乏,事实相反。

具体如下: 

  1. uni-app内置组件是最常用的,与微信内置组件相同。https://uniapp.dcloud.io/component/README
  2. 扩展组件是uni ui,在组件的文档里有专门的扩展组件分类。https://uniapp.dcloud.io/component/README
    扩展组件支持单个从插件市场下载,也支持npm整体引入uni ui,见http://ext.dcloud.net.cn/plugin?id=55
  3. 更多ui库和模块,见插件市场,https://ext.dcloud.net.cn。玲琅满目,除了组件形式,还有很多页面模板和项目模板拿来即用。 
  4. 其他基于vue的无dom库也支持,包括graceui、zanui-mpvue、iview-mpvue。但注意后2者不是纯flex布局。 

另外如果你在App侧使用nvue,也支持weex ui。 

虽然不建议,但如果你确定只开发微信小程序和App,也可以使用微信的自定义组件ui,这里是vant ui weapp版的使用指南:https://ask.dcloud.net.cn/article/35128

最后,请开发者务必牢记基础组件的作用,基础组件的性能是高于扩展组件的
这和web开发不一样,web开发基本上不用基础组件,都是找一个ui库,全部组件都包含。
但uni-app体系不是这样,uni-ui库全部都是扩展组件,不含基础组件。 

我们的建议是:开发时首先用基础组件,不能及的部分再通过扩展组件补充,不要把整个项目全部都构建在某个ui框架下。

原文地址:https://ask.dcloud.net.cn/article/35489

  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于uni-ui中的组件,同样可以通过修改它们的样式来自定义它们的外观。由于uni-ui是基于uni-app开发的,因此可以使用和uni-app中相同的样式修改方法来修改uni-ui组件的样式。 以下是修改uni-ui组件样式的步骤: 1. 安装uni-ui插件并引入需要修改的组件,例如需要修改uni-icons组件的样式,则需要在页面或组件中引入uni-icons组件。 ``` <template> <view> <uni-icons type="success"></uni-icons> </view> </template> <script> import uniIcons from '@/uni-ui/components/uni-icons/uni-icons.vue' export default { components: { uniIcons } } </script> ``` 2. 在组件或页面的style标签中定义要修改的样式,覆盖uni-icons组件自带的样式。 ``` <template> <view> <uni-icons type="success"></uni-icons> </view> </template> <script> import uniIcons from '@/uni-ui/components/uni-icons/uni-icons.vue' export default { components: { uniIcons } } </script> <style> /* 修改uni-icons组件的颜色 */ .uni-icons { color: red; } </style> ``` 3. 重新编译运行项目,即可看到修改后的效果。 需要注意的是,修改uni-ui组件的样式时,需要注意不要修改uni-ui组件的class名称,否则可能会影响到其他组件的样式。如果需要修改class名称,可以使用scoped属性来解决,例如: ``` <template> <view> <uni-icons type="success" class="my-icons"></uni-icons> </view> </template> <script> import uniIcons from '@/uni-ui/components/uni-icons/uni-icons.vue' export default { components: { uniIcons } } </script> <style scoped> /* 修改uni-icons组件的颜色 */ .my-icons { color: red; } </style> ``` 这样就可以在当前组件中使用.my-icons类来修改uni-icons组件的样式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值