uni-app常用拓展组件推荐

本文介绍了微信小程序的繁荣及其对开发者需求的响应,重点阐述了DCloud的uni-app框架如何通过统一代码实现多平台发布,并详细讲解了uni-ui中的uni-easyinput增强输入框组件,突出了uni-app在性能、跨端兼容和生态优势上的表现。
摘要由CSDN通过智能技术生成

        小程序在用户规模及商业化方面都取得了极大的成功。截至2021年12月,微信小程序日活超过4.5亿,支付宝、百度、头条小程序的月活也都超过了3亿。
对应小程序开发领域,开发框架从单纯的微信小程序开发过渡到多端框架成为标配,进一步提升开发效率成为开发者的强烈需求。
        DCloud公司作为小程序的开创者和先行者,推出了uni-app开源框架,为开发者抹平了各平台的差异,实现了编写一套代码,可以发布到iOS、Android、Web(响应式),以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/淘宝)、快应用等多个平台。uni-app凭借强大的跨平台能力,当仁不让地成为跨端开发的首选框架。
        uni-app是当前主流的开发框架,uni-app手机端月活达到12亿,有数千款插件、70多个微信或QQ技术交流群,阿里小程序官方工具内置了uni-app,腾讯课堂官方为uni-app录制了培训课程。uni-app在开发者数量、案例、跨端抹平度、扩展灵活性、性能体验、周边生态、学习成本、开发成本等方面拥有极大的优势。

        uni-app官网自带的各式各样的拓展组件也是各大用户选择uni-app的原因之一,以下为uni-app官方文档里对uni-ui的介绍:

uni-ui产品特点

1.高性能

        目前为止,在小程序和混合app领域,uni-ui是性能的标杆。

  • 自动差量更新数据

        虽然uni-app支持小程序自定义组件,所有小程序的ui库都可以用。但小程序自定义组件的ui库都需要使用setData手动更新数据,在大数据量时、或高频更新数据时,很容易产生性能问题。

        而uni-ui属于vue组件,uni-app引擎底层自动diff更新数据。当然其实插件市场里众多vue组件都具备这个特点。

  • 优化逻辑层和视图层通讯折损

        非H5,不管是小程序还是App,不管是app的webview渲染还是原生渲染,全都是逻辑层和视图层分离的。这里就有一个逻辑层和视图层通讯的折损问题。 比如在视图层拖动一个可跟手的组件,由于通讯的损耗,用js监听很难做到实时跟手。

        这时就需要使用css动画以及平台底层提供的wxs、bindingx等技术。不过这些技术都比较复杂,所以uni-ui里做了封装,在需要跟手式操作的ui组件,比如swiperaction列表项左滑菜单,就在底层使用了这些技术,实现了高性能的交互体验

  • 背景停止

        很多ui组件是会一直动的,比如轮播图、跑马灯。即便这个窗体被新窗体挡住,它在背景层仍然在消耗着硬件资源。在Android的webview版本为chrome66以上,背景操作ui会引发很严重的性能问题,造成前台界面明显卡顿。

        而uni-ui的组件,会自动判断自己的显示状态,在组件不再可见时,不会再消耗硬件资源。

2.全端

        uni-ui的组件都是多端自适应的,底层会抹平很多小程序平台的差异或bug。

        比如导航栏navbar组件,会自动处理不同端的状态栏; 比如swiperaction组件,在app和微信小程序上会使用交互体验更好的wxs技术,但在不支持wxs的其他小程序端会使用js模拟类似效果。

        uni-ui还支持nvue原生渲染。

uni-ui还支持pc等宽屏设备,可以通过PC浏览器访问https://hellouniapp.dcloud.net.cn/pages/extUI/badge/badge体验

3.风格扩展

        uni-ui的默认风格是中型的,与uni-app基础组件风格一致。但它支持uni.scss,可以方便的扩展和切换应用的风格。

        UI 是一种需求非常发散的产品,DCloud官方也无意用uni-ui压制第三方 UI 插件的空间,但官方有义务在性能和跨端方面提供一个开源的标杆给大家。

        我们欢迎更多优秀的 UI 组件出现,也欢迎更多人贡献uni-ui的主题风格,满足更多用户的需求。

4.与uniCloud协作

        uni-ui里很多组件与uniCloud打通,可大幅提升开发效率

5.与uni统计自动集成实现免打点

        uni统计是优秀的多端统计平台,见 tongji.dcloud.net.cn

        除了一张报表看全端,它的另一个重要特点是免打点,也成为无侵入式埋点。

        比如使用uni-ui的navbar标题栏、收藏、购物车等组件,均可实现自动打点,统计页面标题等各种行为数据。

        当然你也可以关闭uni统计,这不是强制的。

6.uni-ui符合全套DCloud组件规范

        包括 easycomuni_moduledatacom,全部遵循。

        所以,我在这篇文章里向大家分享并推荐一个我认为比较好用、常用的uni-ui:

                                uni-easyinput 增强输入框

1.基本用法

输入内容后,输入框尾部会显示清除按钮,点击可清除内容,如不需要展示图标,clearable 属性设置为 false 即可

clearable 属性设置为 true ,输入框聚焦且内容不为空时,才会显示内容

<uni-easyinput v-model="value" placeholder="请输入内容"></uni-easyinput>

2.输入框带左右图标

设置 prefixIcon 属性来显示输入框的头部图标

设置 suffixIcon 属性来显示输入框的尾部图标

注意图标当前只支持 uni-icons 内置的图标,当配置 suffixIcon 属性后,会覆盖 :clearable="true" 和 type="password" 时的原有图标

绑定 @iconClick 事件可以触发图标的点击 ,返回 prefix 表示点击左侧图标,返回 suffix 表示点击右侧图标

<!-- 输入框头部图标 -->
<uni-easyinput prefixIcon="search" v-model="value" placeholder="请输入内容" @iconClick="onClick"></uni-easyinput>
<!-- 展示输入框尾部图标 -->
<uni-easyinput suffixIcon="search"  v-model="value" placeholder="请输入内容" @iconClick="onClick"></uni-easyinput>

3.插槽

设置 right 属性来设置右侧内容 插槽。

<uni-easyinput>
	<template #right>
		<view>密码</view>
	</template>
</uni-easyinput>

4.输入框禁用

设置 disable 属性可以禁用输入框,此时输入框不可编辑

<uni-easyinput disabled  v-model="value" placeholder="请输入内容"></uni-easyinput>

5.密码框

设置 type="password" 时,输入框内容将会不可见,由实心点代替,同时输入框尾部会显示眼睛图标,点击可切换内容显示状态

<uni-easyinput type="password" v-model="password" placeholder="请输入密码"></uni-easyinput>

6.输入框聚焦

设置 focus 属性可以使输入框聚焦

如果页面存在多个设置 focus 属性的输入框,只有最后一个输入框的 focus 属性会生效

<uni-easyinput focus v-model="password" placeholder="请输入内容"></uni-easyinput>

7.多行文本

设置 type="textarea" 时可输入多行文本

<uni-easyinput type="textarea" v-model="value" placeholder="请输入内容"></uni-easyinput>

8.多行文本自动高度

设置 type="textarea" 时且设置 autoHeight 属性,可使用多行文本的自动高度,会跟随内容调整输入框的显示高度

<uni-easyinput type="textarea" autoHeight v-model="value" placeholder="请输入内容"></uni-easyinput>

9.取消边框

设置 :inputBorder="false" 时可取消输入框的边框显示,同时搭配 uni-forms 的 :border="true" 有较好的效果

<uni-forms border>
	<uni-forms-item label="姓名">
		<uni-easyinput :inputBorder="false" placeholder="请输入姓名"></uni-easyinput>
	</uni-forms-item>
	<uni-forms-item label="年龄">
		<uni-easyinput :inputBorder="false" placeholder="请输入年龄"></uni-easyinput>
	</uni-forms-item>
</uni-forms>

具体内容可在uni-app官方文档中查询:

uni-easyinput 增强输入框 | uni-app官网 (dcloud.net.cn)

  • 51
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值