基础组件

框架为开发者提供了一系列基础组件,类似HTML里的基础标签元素。

但uni-app的组件与HTML不同,而是与微信小程序相同,更适合手机端使用。

虽然不推荐使用HTML标签,但实际上如果开发者写了div等标签,在编译到非H5平台时也会被编译器转换为view标签,类似的还有spantextanavigator等,包括css里的元素选择器也会转。但为了管理方便、策略统一,新写代码时仍然建议使用view等组件。

开发者可以通过组合这些基础组件进行快速开发。基于内置的基础组件,可以开发各种扩展组件,组件规范与vue组件相同。

DCloud提供了扩展组件框架uni-ui(见文末),同时更多三方开发的组件也收录到插件市场。

什么是组件:

  • 组件是视图层的基本组成单元。
  • 一个组件通常包括开始标签和结束标签,属性用来修饰这个组件,内容在两个标签之内。
  1. <template>
  2. <view>
  3. <tagname property="value">
  4. content
  5. </tagname>
  6. </view>
  7. </template>

Tips

  • 所有组件与属性名都是小写,单词之间以连字符-连接。
  • 根节点为 <template>,这个 <template> 下只能有一个根<view>组件。
  • 平台差异说明若无特殊说明,则表示所有平台均支持。

属性类型

类型描述注解
Boolean布尔值组件写上该属性,不管该属性等于什么,其值都为 true,只有组件上没有写该属性时,属性值才为 false。如果属性值为变量,变量的值会被转换为 Boolean 类型。
Number数字1, 2.5
String字符串"string"
Array数组[ 1, "string" ]
Object对象{ key: value }
EventHandler事件处理函数名handlerName 是 methods 中定义的事件处理函数名
Any任意属性

共同属性类型

所有组件都有的属性:

属性名类型描述注解
idString组件的唯一标示保持整个页面唯一
classString组件的样式类在对应的 css 中定义的样式类
styleString组件的内联样式可以动态设置的内联样式
hiddenBoolean组件是否隐藏所有组件默认是显示的
data-Any自定义属性组件上触发的事件时,会发送给事件处理函数
@EventHandler组件的事件详见各组件详细文档,事件绑定参考 事件处理器

特殊属性

几乎所有组件都有各自自定义的属性,可以对该组件的功能或样式进行修饰,请参考各个组件的定义。

组件列表

基础组件分为以下八大类:

视图容器(View Container):

组件名说明
view视图容器
scroll-view可滚动视图容器
swiper滑块视图容器

基础内容(Basic Content):

组件名说明
icon图标
text文字
rich-text富文本
progress进度条

表单组件(Form):

标签名说明
button按钮
form表单
input输入框
checkbox多项选择器
radio单项选择器
picker列表选择器
picker-view内嵌列表选择器
slider滚动选择器
switch开关选择器
label标签

导航(Navigation):

组件名说明
navigator应用链接

媒体组件(Media):

组件名说明
audio音频
camera相机
image图片
video视频
live-player直播

地图(Map):

组件名说明
map地图

画布(Canvas):

组件名说明
canvas画布

webview(Web-view):

组件名说明
web-viewweb浏览器组件

平台开放数据(Open-data):

组件名说明
open-data展示平台开放的数据

扩展组件(uni-ui):

uni-ui是DCloud提供的一个跨端ui库,它是基于vue组件的、flex布局的、无dom的跨全端ui框架。

注意与web开发不同,uni-ui不包括基础组件,它是基础组件的补充

web开发中有的开发者习惯用一个ui库完成所有开发,但在uni-app体系中,推荐开发者首先使用性能更高的基础组件,然后按需引入必要的扩展组件。

uni-ui支持npm安装和zip下载安装2种方式。

npm安装参考:https://ext.dcloud.net.cn/plugin?id=55

下表为uni-ui的扩展组件清单,点击每个组件可单独安装。

组件名说明
Badge数字角标
Calendar日历
Card卡片
Collapse折叠面板
CountDown倒计时
Drawer抽屉
Fab悬浮按钮
Grid宫格
Icon图标
IndexedList索引列表
List列表
LoadMore加载更多
NavBar自定义导航栏
NoticeBar通告栏
NumberBox数字输入框
Pagination分页器
PopUp弹出层
Rate评分
SegmentedControl分段器
Steps步骤条
SwipeAction滑动操作
SwiperDot轮播图指示点
Tag标签

更多组件

除了基础组件、uni-ui,插件市场还有更多扩展组件、模板,包括前端组件和原生扩展组件,具体见插件市场

关于其他vue的web组件库、小程序组件库是否能在uni-app中使用的问题,参考http://ask.dcloud.net.cn/article/35489


发现错误?想参与编辑?在 GitHub 上编辑此页面!