▶_MiniApp Toolkit

AntmJS Vantui

UI 库活跃维护

基于有赞 VantWeapp 的 Taro React UI 组件库,50+ 高质量组件,支持微信/支付宝/抖音小程序及 H5。TypeScript 原生编写,与 VantWeapp 样式和 API 高度一致。

832🕒 最近更新 2026-06
小程序UI框架UIReactTaroVantTypeScript

特性

  • 50+ 高质量组件
  • 99% VantWeapp 样式迁移
  • 100% React 化
  • TypeScript 原生编写
  • Taro 多端支持
  • 主题定制
  • 按需加载

详细文档

AntmJS Vantui#

资源概述#

AntmJS Vantui 是由小电科技(AntmJS 团队)开源的 Taro React UI 组件库,基于有赞 VantWeapp 进行了全量 React 化迁移。项目保留了 VantWeapp 99% 的样式文件和大部分 JS 逻辑,100% 转换为 React 组件,提供了 50+ 个高质量组件,覆盖移动端主流场景。

支持 Taro 框架下的多端编译,包括微信小程序、支付宝小程序、抖音小程序及 H5(注:React Native 不支持)。使用 TypeScript 原生编写,提供完整的类型定义,支持主题定制和按需加载。

项目自 2021 年 9 月开源以来持续迭代,npm 包 @antmjs/vantui 已发布 158 个版本(截至 2026-06),当前最新版本 v3.7.0。GitHub 获 832 stars、108 forks,已有 10+ 生产项目接入。

设计规范#

  • 基于 VantWeapp 设计规范,视觉与交互与有赞 Vant 保持一致
  • 支持主题定制:通过 CSS 变量覆盖默认样式
  • 组件 API 与 VantWeapp 尽可能保持一致,降低学习成本
  • 支持暗黑模式(通过 CSS 变量切换)
  • 组件覆盖:基础组件(Button/Cell/Icon)、表单组件(Form/Field/Picker/Calendar)、反馈组件(Dialog/Toast/Loading/Popup)、展示组件(Tag/Badge/Card/Image/Skeleton)、导航组件(Tab/Tabs/NavBar/Tabbar)等

审核规范#

  • 组件库本身不涉及平台审核,但使用该库开发的小程序仍需遵守各平台审核规范
  • 所有组件均使用各平台原生组件封装,不涉及 webview 或自定义渲染
  • 小程序包体增量:全量引入约 500KB,建议使用按需加载减少包体

开发指南#

快速上手#

code
# 安装
npm install @antmjs/vantui

# 或 yarn
yarn add @antmjs/vantui
code
// 在 Taro 页面中引入组件
import { Button, Cell, Toast } from '@antmjs/vantui'

function IndexPage() {
  return (
    <>
      <Cell title="单元格" value="内容" />
      <Button type="primary" onClick={() => console.log('clicked')}>
        按钮
      </Button>
    </>
  )
}

按需加载#

code
// babel.config.js 或 .babelrc 中配置
{
  plugins: [
    [
      'import',
      {
        libraryName: '@antmjs/vantui',
        libraryDirectory: 'es',
        style: (name) => `${name}/style.less`,
      },
      '@antmjs/vantui'
    ]
  ]
}

常见陷阱#

  1. React Native 不支持:仅支持小程序和 H5 端,Taro RN 编译时会报错
  2. 样式覆盖:如需自定义样式,优先使用 CSS 变量,其次通过 className/style 属性覆盖
  3. 版本兼容:需要 Taro 3.x 及以上版本,建议使用最新稳定版 Taro
  4. 与 VantWeapp 的差异:极少数组件因 React 化改造存在 API 微调,参考官方文档

从 VantWeapp 迁移#

  • API 高度一致,大部分组件只需将 bind:click 改为 onClick
  • 数据绑定从 {{ }} 改为 JSX {}
  • 组件名从 kebab-case 改为 PascalCase(如 van-button<Button>

生态资源#

推荐框架#

  • Taro:京东跨端框架,Vantui 的运行基础
  • React:组件库基于 React 17+ 开发

相关 UI 库#

  • Vant Weapp:有赞原生小程序版,Vantui 的设计源头
  • Taroify:另一个基于 Vant 的 Taro React UI 库(mallfoundry/taroify)

社区资源#

版本更新#

  • v3.7.0(2026-06):最新稳定版,持续迭代
  • v3.x 系列:Taro 4.x 适配、TypeScript 类型完善
  • v2.x 系列:Taro 3.x 支持
  • 158 个 npm 版本:自 2021-09 持续迭代至今
  • 项目由小电科技创新事业部前端团队维护

支持平台