• 基础组件
  • 属性类型
  • 共同属性类型
  • 特殊属性
  • 组件列表
  • 扩展组件(uni-ui):

    基础组件

    框架为开发者提供了一系列基础组件,类似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 上编辑此页面!