Vue Material 完整教程6 步做出 Material Design 风格界面【免费下载链接】vue-materialVue.js Framework - ready-to-use Vue components with Material Design, free forever.项目地址: https://gitcode.com/gh_mirrors/vu/vue-materialVue Material 是一个面向 Vue.js 的 Material Design 组件库提供 38 个免费可用的现成组件和一套动态主题引擎。本文按上手 → 瘦身 → 换肤 → 选组件 → 避坑的顺序带你 6 步把它真正用进项目里。Vue Material 入门Material Design 组件库能帮你做什么先说清楚它能替你省掉什么。不用组件库时一个像样的表单你要自己处理输入框聚焦时的下划线动画、校验失败的红色提示、日期选择器的弹层定位、手机和桌面两套尺寸。每一样都不难但加起来是几天工时。用了 Vue Material 之后这些行为是组件自带的。你声明一个MdInput聚焦动画、校验提示、清空按钮这些细节它都内置了声明一个MdTable排序、分页、选中行这些交互直接可用。它的核心卖点有三个组件全38 个组件覆盖布局、表单、数据展示和反馈交互完整清单可以在组件源码目录里数一遍主题引擎颜色不是写死的可以随时切换甚至同一个页面上不同组件用不同配色免费MIT 协议永久免费没有功能阉割版上面这种后台界面左侧导航、工具栏、卡片、图表卡片全部来自组件库的现成组件。下面先把它装起来。Vue Material 安装一条命令跑通项目 安装本身只有一条命令的事npm install vue-material --save安装前确认一点它要求vue版本在^2.7.14以上这是写死在 package.json 的 peerDependencies 里的。Vue 3 项目用不了它先确认你的技术栈。装完后在入口文件引入 Vue、组件库和样式再执行Vue.use(VueMaterial)即可。另外两个容易被忽略的小动作建议从 Google CDN 引入 Roboto 字体和 Material Icons按钮里的图标不显示八成是少了这一步想研究实现细节可以 clone 源码https://gitcode.com/gh_mirrors/vu/vue-material本地看比如波纹效果MdRipple就是独立组件实现的装好了别急着写页面。怎么引入组件决定了你的打包体积。Vue Material 按需加载这样引入能减小打包体积官方文档GettingStarted 页面里有一句明确的提醒全量包会引入全部组件会伤害性能。两种引入方式对比一下方式一全量引入。一行Vue.use(VueMaterial)搞定代价是 38 个组件全进 bundle。你只用了按钮和表格另外 36 个组件照样被用户下载。方式二按需引入。只 import 你用到的组件import { MdButton, MdTable } from vue-material/dist/components你的应用里用几个组件就注册几个。页面少、组件用得杂的中型项目这步做不做首屏 JS 体积能差出几十 KB。记住一条原则用到什么引什么别图省事引全量。组件就位后下一件让用户有感知的事是配色。Vue Material 动态主题设置换掉整个应用的配色 ⚡Vue Material 的主题引擎有四个特点官方主题概念页总结为Dynamic、Multiple、Flexible、Friendly。翻译成大白话动态通过声明式 API 随时换主题父组件换色子组件全部跟着变多主题同一页面里侧边栏可以是深色内容区是浅色互不干扰按需构建只编译你真正用到的主题不用全量颜色自动对比度文字颜色和背景色的对比由引擎自动计算你选了个深色背景它保证上面的字看得清不会出现深灰字压在深灰底上的事故使用上很简单。给组件加md-primary、md-accent或md-transparent类背景色引擎自动接管。默认配色定义在 src/theme/variables.scss 里primary 是蓝blue A200accent 是红red A200light 模式。如果不想自己调src/theme/prebuilt/ 下有 4 套预置主题含两套深色方案直接换引用即可。一个小提醒官方不建议 primary 和 accent 用同一个颜色两个强调色撞在一起页面会失去层次感。配色解决了接下来面对的是该用哪个组件的问题。38 个组件按场景分类这样挑不容易用错按字母表找组件效率很低。按你要做什么来挑更快搭骨架布局MdApp负责整体结构工具栏 侧边抽屉 内容区MdToolbar是顶部工具栏MdDrawer是侧边抽屉MdLayout提供响应式栅格MdElevation负责阴影层级。后台管理界面 80% 的框架结构就靠这五个。收数据表单MdInput文本输入、MdSelect下拉、MdDatepicker日期选择、MdCheckbox复选、MdSwitch开关、MdRadio单选、MdAutocomplete搜索联想、MdChips标签输入。这一组全部自带校验提示和聚焦动画。展数据展示MdTable数据表格、MdList列表、MdCard卡片、MdTabs标签页、MdSteppers分步流程。给反馈交互MdDialog对话框内置 alert / confirm / prompt 三种快捷用法、MdSnackbar轻提示自带排队机制多条提示不重叠、MdTooltip气泡提示、MdMenu弹出菜单、MdProgress进度条和加载圈。这里面使用频率最高的往往是表格。单独展开讲一下。Vue Material Table 组件10 分钟做出可排序可分页的数据表数据表格是后台项目里最重的一块。MdTable的官方示例目录里就有 11 个场景对应能力可以这么理解排序表头默认支持点击排序TableCustomSort示例演示了完全自定义排序逻辑比如按最近更新时间这种非字段名排序分页TablePagination是本地分页TablePaginationRemote演示了远程分页——数据在服务端组件只管请求第几页多选与单选TableMultiple、TableSingle示例覆盖行选中、全选搜索TableSearch示例演示了输入关键字过滤行自定义模板TableTemplate允许你接管任意单元格的渲染放头像、放操作按钮都行固定高度TableFixed让表格在容器内滚动而不是把页面撑长想读实现的话源码都在 src/components/MdTable/ 下文件名和职责一一对应。会用了还得会避坑。下面是新手最常踩的几个。Vue Material 避坑清单新手最容易犯的 5 个错引了全量包页面只用了 5 个组件却打包了 38 个。改按需引入Vue 版本不对它只支持 Vue 2^2.7.14Vue 3 项目直接装不上或行为异常选型阶段就该确认忘了主题 CSS组件 JS 引了vue-material.min.css和dist/theme/default.css没引界面就是一堆无样式裸元素忘了字体和图标Roboto / Material Icons 没从 CDN 引入按钮图标和字体全部失效primary 和 accent 撞色两个强调色用同一个色视觉层次会糊掉官方明确不推荐这 5 条都发现不了代码报错只会让界面看起来不对所以踩坑的人特别多。最后回答一个问题它到底适合谁。Vue Material 适合谁3 类场景快速判断适合的项目Vue 2 的后台管理、SaaS 产品布局、表单、表格、反馈全有现成的能直接对标上面两张仪表盘的效果需要品牌色和深色模式的中型项目动态主题引擎让换皮变成改几个变量的事还能整页深浅色混用想快速出演示版的团队免费、无商业授权限制demo 和正式环境用同一套组件不适合的情况你的项目在 Vue 3 上。这个组件库基于 Vue 2 生态长期看维护节奏不如 Vue 3 系组件库新项目选型要掂量。核心判断如果你的技术栈是 Vue 2又想要完整的 Material Design 交互细节Vue Material 是目前免费方案里组件覆盖最全的一个值得先花半小时装一遍。建议的行动顺序先按本文第 2 节装好 → 用第 4 节的方式定好 primary / accent 两个颜色 → 挑MdTable和MdForm相关的表单组件搭一个真实页面跑通后再扩展其余组件。【免费下载链接】vue-materialVue.js Framework - ready-to-use Vue components with Material Design, free forever.项目地址: https://gitcode.com/gh_mirrors/vu/vue-material创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?