更新记录

1.1.5(2020-10-20)

发布使用样例替换直接发布UI组件。

1.1.4(2020-10-19)

IOX UI在插件市场首次发布版本。 1、移植Vant Weapp 1.5.0版本的所有基础UI组件 3、icon使用了Font Awesome 2、增加button-group、mask(类似bootstrap-vue的overlay)组件 3、CSS样式移植bootstrap v4的所有工具类


平台兼容性

iox-ui

IOX UI参考Vant(轻量、可靠的移动端 Vue 组件库)的设计和实现,在微信小程序组件库版本vant-weapp基础上实现的uniapp版本。

针对uniapp的一些特性进行了修改和调整,同时增加一些新的组件,对一些组件功能也有所增强。

当前参考的vant-weapp版本为:1.5.0。

安装

安装UI库:

yarn add @zhuyin/iox-ui

安装微信typescript类型定义:

yarn add -D @zhuyin/mp-api-typings

安装less:

yarn add -D less less-loader

增加Vue对TypeScript 支持

UNIAPP使用

参考uniapp的easycom配置。

引入

pages.json

{
  //...
  "easycom": {
        "autoscan": true,
        "custom": {
            "iox-(.*)": "@zhuyin/iox-ui/lib/widget/iox-$1/iox-$1.vue"
        }
  }
  //...
}

使用

<template>
    <view>
      <iox-icon name="loading" />
    </view>
</template>

<script>
    // 这里不用import引入,也不需要在components内注册iox-icon组件。template里就可以直接用
    export default {
        data() {
            return {

            }
        }
    }
</script>

加载字体图标

全局加载

App.vue

export default Vue.extend({
  mpType: 'app',
  globalData: {
    ioxIconUrl: 'https://res.oss.zhuyin.club/assets/fonts/fontawesome-webfont.woff'
  },
  onLaunch(options: App.LaunchShowOption) {
    console.log("App Launch");
    const fontUrl = (this as any).globalData.ioxIconUrl;
    wx.loadFontFace({
      global: true,
      family: 'FontAwesome',
      source: `url("${fontUrl}")`,
      success: console.log,
      fail: console.warn
    });
    this.checkUpdate();
  }
}

每个页面加载:

index.vue

export default Vue.extend({
    created() {
        const app = getApp().$vm;
        const info = getSystemInfoSync();
        if (info && compareVersion(info.SDKVersion, '2.10.0') < 0) {
            const fontUrl = app.globalData.ioxIconUrl;
            uni.loadFontFace({
                family: 'FontAwesome',
                source: `url("${fontUrl}")`,
                success: console.log,
                fail: console.warn
            });
        }
    }
}

加载样式

创建一个空文件

/src/sytle/iox-ui.less

全局加载

App.vue

<style lang="less">
@import "~@zhuyin/iox-ui/lib/style/index.less";
</style>

参考手册

Vant UI 使用手册 说明: 由于小程序原生实现和Vue实现会有一些差异,差异化的使用请参考源代码里面的demo。

组件一览表

组件 Vant Weapp IOX UI 支付宝 备注 贡献者
基础组件
Button 按钮 老糊涂
Button Group 按钮组 ☑️ GoodActions 商品导航 老糊涂
Button 按钮 老糊涂
Cell 单元格 老糊涂
Icon 图标 使用 Font Awesome字体图标 老糊涂
Image 图片 老糊涂
Layout 布局 老糊涂
Popup 弹出层 老糊涂
Transition 动画 老糊涂
表单组件
Calendar 日历 支持日期添加图标 老糊涂
Checkbox 复选框 老糊涂
Datetime Picker 时间选择 ☑️ 支付宝存在滚动问题 老糊涂
Field 输入框 老糊涂
Picker 选择器 ☑️ 支付宝存在滚动问题 老糊涂
Radio 单选框 老糊涂
Rate 评分 春雨
Search 搜索 春雨
Slider 滑块 春雨
Stepper 步进器 春雨
Switch 开关 老糊涂
Uploader 文件上传 老糊涂
反馈组件
Action Sheet 上拉菜单 春雨
Dialog 弹出框 遵从Vue使用方式 老糊涂
Dropdown Menu 下拉菜单 老糊涂
Loading 加载 老糊涂
Mask 蒙板 老糊涂
Notify 消息通知 春雨
Overlay 遮罩层 老糊涂
Share Sheet 分享面板 春雨
Swipe Cell 活动单元格 春雨
Toast 轻提示 遵从Vue使用方式 老糊涂
展示组件
Circle 进度条 ☑️ ☑️ 老糊涂
Collapse 折叠面板 老糊涂
Countdown 倒计时 老糊涂
Divider 分割线 老糊涂
Empty 空状态 老糊涂
NoticeBar 通告栏 老糊涂
Panel 面板 老糊涂
Progress 进度条 老糊涂
Skeleton 骨架屏 老糊涂
Steps 步骤条 春雨
Sticky 粘性布局 老糊涂
Tag 标记 老糊涂
Tree Select 分类选择 老糊涂
导航组件
Grid 宫格 老糊涂
IndexBar 索引栏 老糊涂
Sidebar 侧边导航 老糊涂
NavBar 导航栏 老糊涂
Tab 标签页 老糊涂
Tabbar 标签栏 老糊涂

LICENSE

MIT

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问