Skip to content

UI 组件库(m-ui-x) ​

架构内置 m-ui-x——梦曦工作室为 uni-app x 打造的 UI 组件库(UTS + uvue 编写,一套组件多端覆盖),以 uni_modules 插件形式随模板分发。

使用方式 ​

easycom 零注册:模板中直接书写标签,无需 import 与手动注册。

html
<template>
	<m-button type="primary" block @click="onClick">主要按钮</m-button>
</template>

组件清单 ​

组件说明
m-button语义色 type、plain / disabled / loading、四档尺寸、block、hairline 细边框、按压反馈
m-cell / m-cell-group单元格与分组:title / value / label、图标、四向箭头、inset 圆角卡片分组
m-row / m-col栅格布局:gutter 间距、对齐、换行
m-icon图标:250+ 常用图标(ttf 随包内置)、颜色尺寸、自定义图标插槽
m-image图片:mode 直通、加载 / 失败占位、淡入过渡、圆形、懒加载
m-text文本:语义色 / 色值双模式、三档字号、单行省略、多行截断、可选中
m-space间距:方向 / 换行 / 对齐,size 单值或双值(行 / 列)分写
m-loading加载:circular / spinner 双形态、自定义色与尺寸、带文案
m-badge徽标:数字 / 点、max 截断、语义色与色值、位置偏移、独立形态

消费示例 ​

登录页提交按钮(loading 态绑定 useLoading 组合式函数,加载中自动阻断点击并切换文案):

html
<view class="login-btn-box">
	<m-button type="primary" block :loading="loading" loading-text="登录中…" @click="handleLogin">登录</m-button>
</view>

主题定制(编译期,零运行时开销) ​

全部视觉参数以 $m-* SCSS 变量(全 !default)收敛。在工程根 uni.scss 中直接定义同名变量即可覆盖默认值:

scss
/* 常规按钮高度 44px → 48px */
$m-button-normal-height: 48px;

⚠️ 禁止在 uni.scss 中 @import 插件内 vars.scss——uni.scss 会注入每个组件样式,与组件内引用同一文件会触发 sass 循环导入。可用变量参考:uni_modules/m-ui-x/theme/vars.scss。

规约 ​

  • 新增 UI 优先复用 m-ui-x 现成组件,不自绘重复轮子(组件清单见上表);
  • 组件内只管自身样式,页面间距经外层 view 控制(规避样式隔离对组件根节点的约束);
  • 完整文档与在线演示:mengxi-studio.github.io/unix-ui。

Released under the MIT License.