Wux Weapp 组件库指南
项目地址:https://github.com/wux-weapp/wux-weapp
文档/示例:见仓库 README 与示例小程序
关联清单:https://github.com/justjavac/awesome-wechat-weapp
Wux Weapp 是一套微信小程序自定义组件库,组件前缀通常为 wux-
,涵盖按钮、表单、弹出层、选择器与列表等常用场景。
🎯 文章目标
- 安装并按需引入 Wux 组件
- 在页面中完成基础交互与事件绑定
- 进行样式与主题的简单覆盖
- 掌握常见问题与调试思路
⚙️ 安装与引入
bash
npm i wux-weapp -S
# 微信开发者工具:工具 -> 构建 npm
在页面 JSON 中声明 usingComponents(以 Button、Dialog 为例):
json
// pages/index/index.json
{
"usingComponents": {
"wux-button": "wux-weapp/button/index",
"wux-dialog": "wux-weapp/dialog/index"
}
}
页面示例:
xml
<!-- pages/index/index.wxml -->
<view class="container">
<wux-button type="balanced" bind:click="onOpen">打开对话框</wux-button>
<wux-dialog id="wux-dialog" title="温馨提示" content="这是一段对话框内容" />
</view>
js
// pages/index/index.js
import { $wuxDialog } from 'wux-weapp/index'
Page({
onOpen() {
$wuxDialog().alert({
title: '温馨提示',
content: '这是一段对话框内容',
onConfirm() {
wx.showToast({ title: '确认' })
}
})
}
})
提示:不同版本的 API 写法略有差异,具体以仓库示例与文档为准。
🎨 样式与主题
- 全局样式覆盖:在
app.wxss
或自定义theme.wxss
(后引入)中覆盖常用色板与间距。 - 局部覆盖:仅在页面样式中覆盖对应组件的类名,避免无关页面受影响。
- 组件属性优先:若组件 props 能满足主题需求,优先使用 props,再考虑样式覆盖。
🏗️ 工程实践
- 按需引入:仅在使用页面注册组件;大体量页面置于分包,减少主包压力。
- 与其他库共存:与 Vant/WeUI/Lin UI 共存时,需统一视觉规范;避免同功能组件混搭。
- 交互统一:对话框/Toast/Loading 建议统一封装调用,避免多套 API 并存。
🧪 常见问题
- 构建 npm 报错/路径不对:删除 miniprogram_npm 目录并重新构建;检查组件路径是否匹配版本。
- 事件不触发:确认
bind:click
或组件自定义事件名是否正确;注意冒泡/捕获与自定义事件差异。 - 样式错位:检查样式覆盖顺序;在 iOS/Android 真机上分别验证。
✅ 适用场景
- 业务表单、弹窗与选择器等高频组件
- 需要快速搭建页面的中小型项目
- 与现有组件库混用但保留一致体验
🔗 参考
- Wux Weapp:https://github.com/wux-weapp/wux-weapp
- 小程序自定义组件:https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/
📊 总结
Wux Weapp 以轻量与组件覆盖见长。通过按需引入与统一的交互封装,可以快速构建一致的 UI 与交互体验。