滴滴开源基于 Vue.js 的移动端组件库 cube-ui

综合自:https://didi.github.io/cube-ui/

继 6 月份开源Android 端插件化框架 VirtualAPK后,滴滴近日又开源了第二个项目 —— 基于 Vue.js 实现的移动端组件库 cube-ui 。

移动端组件库 cube-ui

授权协议:Apache

开发语言:JavaScript

操作系统:跨平台

开发厂商:滴滴

Github:https://didi.github.io/cube-ui/

cube-ui 简介

cube-ui 是由滴滴开源的基于 Vue.js 实现的移动端组件库。

cube-ui 具有如下功能特性:

● 质量可靠:由滴滴内部组件库精简提炼而来,历经考验,并且每个组件都有充分单元测试,为后续集成提供保障。

● 体验极致:以迅速响应、动画流畅、接近原生为目标,在交互体验方面追求极致。

● 标准规范:遵循统一的设计交互标准,高度还原设计效果;接口标准化,统一规范使用方式,开发更加简单高效。

● 扩展性强:支持按需引入和后编译,轻量灵活;扩展性强,可以方便地基于现有组件实现二次开发。

cube-ui 基础组件

Button:按钮,提供了各种类型、样子、状态以及图标。

Checkbox 复选框:复选框,可设置其状态、传入特殊 class 以及复选框图标位置。

CheckboxGroup 复选框组:复选框组就是一组复选框,主要用来选择一组可选项;有垂直和水平两种样式。

Loading 加载中:加载,提供了可自定义大小的加载动画。

Tip:提示,用于弹出提示气泡框。通过在Tip组件上添加ref属性,获得对于组件的引用,然后调用Tip组件向外暴露出来的 show、hide 方法来控制组件的显示或隐藏。

cube-ui 弹层组件

Popup 弹层:底层弹层组件,主要用于基于此组件实现上层组件封装,只提供了基础功能:指定类型、是否有背景层、显示内容(HTML)以及是否居中。

内置所有的弹层类组件都是基于此组件实现,包括:Toast、Picker、TimePicker、Dialog、ActionSheet。

Toast:Toast组件主要用于非模态信息提醒,如显示时间设置,无需用户交互。

Picker组件:Picker组件支持多列选择器及数据联动。

TimePicker组件:TimePicker组件提供了常用的日期选择功能。

Dialog:Dialog模态框组件,提供了多种样式及交互形式。

ActionSheet:ActionSheet操作列表提供了两种常见的样式,灵活可控内容。

cube-ui 滚动组件

Scroll 滚动:滚动列表,提供了优质的原生滚动体验,便捷的配置项和事件,是一个基于better-scroll进行封装的组件。

Slide 幻灯片:轮播图,提供了常见的轮播及swipe的功能,也是一个基于better-scroll进行封装的组件。

IndexList 索引列表:索引列表,提供了列表索引的功能,也是一个基于better-scroll进行封装的组件。

滚动类组件都是基于 better-scroll 实现,而 Scroll 组件就是对 better-scroll 的封装。

cube-ui 其他模块

除了组件之外,cube-ui 还有一些特殊的模块。

style:样式部分,如果你是在按需引入使用的场景下,那么建议在入口文件处也要引入这个模块,因为它包含基础的 reset、基础通用样式以及内置 icon。

create-api:有些时候,开发者可能也需要自己封装的组件支持 API 式调用,此时可以通过引入 create-api 模块或者通过全局的 Cube.createAPI 接口来达到封装目的。

better-scroll:组件库依赖的一个库,为了避免重复引入问题,我们暴露出了这个模块。

快速上手

安装

cube-ui 搭配 webpack 2+ 支持后编译和普通编译 2 种构建方式(默认使用后编译),使用前都需要修改应用的依赖和配置。

使用

全部引入,一般在入口文件中:

按需引入:

注意:按需引入的话,是不会打包基础样式部分的,所以在使用的时候需要引入 style 模块。

示例

本文来自企鹅号 - 安卓开发媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Crossin的编程教室

【Python 第34课】 break

我们已经熟悉了循环的使用,包括while和for...in。while循环在条件不满足时结束,for循环遍历完序列后结束。如果在循环条件仍然满足或序列没有遍历完...

26210
来自专栏不止是前端

Vue:基于Vue2的饿了么实战总结

3267
来自专栏pangguoming

一看就懂的ReactJs入门教程(精华版)

现在最热门的前端框架有AngularJS、React、Bootstrap等。自从接触了ReactJS,ReactJs的虚拟DOM(Virtual DOM)和组件...

3506
来自专栏程序人生 阅读快乐

超实用的JavaScript代码段 (代码逆袭)

《超实用的JavaScript代码段》基于实用、实践、前瞻性、学习的原则,笔者精选了近300段JavaScript代码和400种解决方案,覆盖了几乎所有的脚本处...

542
来自专栏C语言及其他语言

[每日一题]连接元音字母

前面我们一起编写了如何定义函数反序输出字符串,连接字符串,今天,我们将来一起学习如何定义函数将两个字符串中的元音字母复制到另一个字符串,然后输出。(传参问题是关...

2817
来自专栏编程微刊

微信小程序图片使用示例

1464
来自专栏xingoo, 一个梦想做发明家的程序员

前端开发总览

记录前端学习历程 kissy UI JavaScript   1 funtion方法的高级特性   2 图解闭包   3 JS面向对象高级特性   4 ...

1776
来自专栏贾鹏辉的技术专栏@CrazyCodeBoy

从navigator到react-navigation进阶教程

1853
来自专栏搞前端的李蚊子

基于Vue.js的大型报告页项目实现过程及问题总结(二)

距离上一篇文章过去了二十多天了,期间一直想把第二部分写完,结果在测试过程中遇到了各种坑爹的问题,到今天才算基本完成,也许还有后续,但趁着今天有时间就写出来吧,也...

36510
来自专栏老司机的简书

TableView加载图片的优化逻辑

日常中,最常使用的空间非UITableView莫属了。 但是当TableView的cell中包含图片时,使用SDWebImage加载图片虽然是异步过程,但是仍...

743

扫码关注云+社区