# 介绍
terse-ui是一个基于vue的开源ui个人项目,提供了一些常用的组件,适合在桌面端使用。
# 安装
# npm 安装
npm install terse-ui
# yarn安装
推荐使用yarn安装。
yarn add terse-ui
# 引入
完整引入 在 main.js 中写入以下内容,而后即可使用。
import Vue from 'vue';
import terse from 'terse-ui';
import 'terse-ui/lib/terse-ui.css'
import App from './App.vue';
Vue.use(terse-ui);
new Vue({
el: '#app',
render: h => h(App)
});
# 组件
# 图标-Icon
非常感谢阿里iconfont开源库,给我们提供了很多优质的图标。这里提供了一些图标,如果您觉得不满足您的需求,你可以 直接导入您自身项目的iconfont.css,而后给 terse-icon组件添加相对应的name属性即可使用。
# 基本用法
# 给图标添加颜色和设置尺寸
# 相关参数
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
name | 图标的类名 | string | —— |
color | 图标的颜色 | string | #000 |
size | 图标的尺寸 | number | 16(单位:px) |
# 布局容器
用于布局的容器组件,方便快速搭建页面的基本结构: 外层容器。当子元素中包含顶栏容器或者底栏容器时,全部子元素会垂直上下排列,否则会水平左右排列。
以上组件采用了 flex 布局,使用前请确定目标浏览器是否兼容
# 常见页面布局
# 布局-Layout
通过基础的 24 分栏,迅速简便地创建布局。
# 基础布局
# 分栏间隔
分栏之间存在间隔。可以通过给terse-row该组件设置gutter值来设置分割。推荐设置20
# 分栏偏移
通过设置offset来指定偏移的栏数
# row相关参数
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
gutter | 栅栏间隔(单位:px) | Number | 0 |
# col相关参数
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
span | 栅格占据的列数 | Number | 24 |
offset | 栅格左侧的间隔格数 | Number | 0 |
# 按钮-Button
常用的操作按钮
# 基本用法
基础的按钮用法
# 带图标的按钮
# 加载状态的按钮
# 按钮组
# 参数说明
参数 | 说明 | 类型 | 默认值 | 可选择 |
---|---|---|---|---|
icon | 图标的类名 | string | —— | —— |
type | 按钮的颜色 | string | —— | primary/danger/success/info/warning |
loading | 正在加载中的按钮 | boolean | false | true/false |
# 事件
事件名称 | 说明 | 回调参数 |
---|---|---|
click | 按钮被点击时触发 | e |
# 文字链接-Link
文字超链接
# 基本用法
# 禁用状态
文字链接处于不可用状态
# 参数说明
参数 | 说明 | 类型 | 默认值 | 可选择 |
---|---|---|---|---|
href | 原生href属性 | string | —— | —— |
type | 链接的颜色 | string | —— | primary/danger/success/info/warning |
disabled | 链接是否被禁用 | boolean | false | true/false |
underline | 链接被hover时是否有下划线 | boolean | true | true/false |
# 事件
当没有原生href属性并且没有被禁用时触发
事件名称 | 说明 | 回调参数 |
---|---|---|
click | 按钮被点击时触发 | e |
# 单选框-Radio
# 基本用法
# 禁用状态下的单选框
# 单选框组
当选完一个选项时,会向外触发change事件
# 按钮样式
按钮样式的单选组合
# Radio参数说明
参数 | 说明 | 类型 | 默认值 | 可选择 |
---|---|---|---|---|
v-model | 绑定值 | string/number/boolean | —— | —— |
label | 自身值 | string/number/boolean | —— | —— |
disabled | 是否被禁用 | boolean | false | true/false |
# Radio事件
事件名称 | 说明 | 回调参数 |
---|---|---|
change | 被选中时触发 | 自身的值(即是被选中的Radio值) |
# RadioButton参数说明
参数 | 说明 | 类型 | 默认值 | 可选择 |
---|---|---|---|---|
label | 自身值 | string/number/boolean | —— | —— |
disabled | 是否被禁用 | boolean | false | true/false |
# RadioGroup参数说明
参数 | 说明 | 类型 | 默认值 | 可选择 |
---|---|---|---|---|
v-model | 绑定值 | string/number/boolean | —— | —— |
disabled | 是否被禁用 | boolean | false | true/false |
# RadioGroup事件
事件名称 | 说明 | 回调参数 |
---|---|---|
change | 单个单选框被选中时触发 | 被选中的Radio值 |
# 多选框-checkBox
单独使用可以表示两种状态之间的切换,写在标签中的内容为 checkbox 按钮后的介绍,当没有在标签中注入
内容时也可以使用label属性
当状态切换之后,可向外界触发change事件
# 基本使用
# 禁用状态
多选框处于不可用状态
# 多选框组
适用于多个多选框绑定到一个数组的场景,通过是否勾选来表示是否选中这一项,当任意一个被选中时,向外触发change事件。
# checkbox参数说明
参数 | 说明 | 类型 | 默认值 | 可选择 |
---|---|---|---|---|
v-model | 绑定值(单独使用) | boolean | —— | —— |
label | 标签的内容(单独使用),与多选框组一起使用,可作为被选中时的值,也可作为标签的内容 | string/number/ | —— | —— |
disabled | 是否被禁用 | boolean | false | true/false |
# checkbox事件
事件名称 | 说明 | 回调参数 |
---|---|---|
change | 被选中时触发 | 对应的状态值(true/false) |
# checkboxGroup参数说明
参数 | 说明 | 类型 | 默认值 | 可选择 | |
---|---|---|---|---|---|
v-model | 绑定值 | Array | —— | —— | |
disabled | 是否被禁用 | boolean | false | true/false |
# checkboxGroup事件
事件名称 | 说明 | 回调参数 |
---|---|---|
change | 任意多选框被选中时触发 | 更新后的值 |
# 开关-Switch
表示两种相互对立的状态间的切换,多用于触发「开/关」。
# 基本用法
当进行状态切换时,可向外触发change事件。
# 文字描述
# 禁用状态
# Switch参数说明
参数 | 说明 | 类型 | 默认值 | 可选择 |
---|---|---|---|---|
v-model | 绑定值 | Boolean | false | —— |
disabled | 是否被禁用 | boolean | false | —— |
inactive-text | 关闭时的文字描述 | String | —— | —— |
active-text | 打开时的文字描述 | String | —— | —— |
active-color | 打开时的背景色 | String | #409EFF | —— |
inactive-color | 关闭时的背景色 | String | #C0CCDA | —— |
width | Switch的宽度(单位:px) | Number | 40 | —— |
# Switch事件
事件名称 | 说明 | 回调参数 |
---|---|---|
change | 切换状态后触发 | 更新后的值 |
# 日期选择器-datePicker
用于选择日期
# 基本用法
# datePicker参数说明
参数 | 说明 | 类型 | 默认值 | 可选择 | |
---|---|---|---|---|---|
v-model | 绑定值 | Number/String/Date | 当前日期 | —— |
# datePicker事件
事件名称 | 说明 | 回调参数 |
---|---|---|
change | 某个日期被选中时触发 | 选中的日期值 |
# 标签-tag
用于标记
# 基本用法
# 可移除标签
# 不同主题的标签
tag组件提供了两种主题dark,plain
# tag参数说明
参数 | 说明 | 类型 | 默认值 | 可选择 |
---|---|---|---|---|
type | 标签的类型 | String | primary | primary/danger/success/warning/info |
showClose | 标签是否可以被移除 | boolean | false | —— |
theme | 标签的样式主题 | String | —— | dark/plain |
# tag事件
事件名称 | 说明 | 回调参数 |
---|---|---|
close | 标签被移除时触发 | —— |
# 标记-badge
状态标记
# 基本用法
# 自定义消息
可以显示非数字的文本
# 显示小红点
# badge参数说明
参数 | 说明 | 类型 | 默认值 | 可选择 |
---|---|---|---|---|
type | 角标的类型 | String | primary | primary/danger/success/warning |
value | 角标显示的值 | String/Number | —— | —— |
max | 最大值,要求value是Number类型 | Number | Infinity | —— |
show | 是否显示角标 | Boolean | true | —— |
isDot | 是否显示红点 | Boolean | false | —— |
# 警告-alert
用于页面中展示重要的提示信息
# 基本用法
成功提示的文案
成功提示的文案
警告提示的文案
危险提示的文案
# 自定义关闭为文字或图标 或可选择是否需要被关闭
成功提示的文案
成功提示的文案
明白警告提示的文案
收到危险提示的文案
# 带有辅助性文字
辅助性文字
这是一句绕口令:黑灰化肥会挥发发灰黑化肥挥发;灰黑化肥会挥发发黑灰化肥发挥。 黑灰化肥会挥发发灰黑化肥黑灰挥发化为
# alert 参数说明
参数 | 说明 | 类型 | 默认值 | 可选择 |
---|---|---|---|---|
type | 主题类型 | String | info | info/danger/success/warning |
title | 标题 | String | —— | —— |
description | 辅助性文字 | String | —— | —— |
showClose | 是否显示关闭按钮 | Boolean | true | —— |
closeText | 自定义关闭按钮文字 | String | —— | —— |
# slot
Name | 说明 |
---|---|
—— | 描述 |
title | 标题 |
# alert事件
事件名称 | 说明 | 回调参数 |
---|---|---|
closed | 被移除时触发 | —— |
# 加载-loading
加载数据时显示动效
# 基本用法
当某个元素需要设置loading效果,请为该元素设置成为定位元素
# 消息提示-message
常用于主动操作后的反馈提示。
# 基本用法
消息提示框从屏幕顶部出现,默认3秒钟之后消失,当设置durantion为0时,消息提示框不会自动关闭,
需要手动按下delete或esc键关闭,也可设置显示关闭按钮,showClose:true,按下关闭按钮时,关闭消息提示
# 不同状态下的消息提示
# 全局方法
terse-ui为Vue.prototype添加了全局方法$message,您可以使用this.$message.closeAll()关闭页面上的所有的消息提示框。
# message相关参数说明
参数 | 说明 | 类型 | 默认值 | 可选择 |
---|---|---|---|---|
type | 主题类型 | String | info | info/danger/success/warning |
message | 消息文字 | String | —— | —— |
duration | 消息提示框关闭的时间,单位毫秒,设置为0,不会自动关闭 | Number | 3000 | —— |
showClose | 是否显示关闭按钮 | Boolean | false | —— |
offset | 消息提示框距离顶部的距离 (单位:px) | Number | 20 | —— |
onClose | 关闭时的回调函数 | Function | —— | —— |
# 通知-notification
悬浮出现在页面角落,显示全局的通知提醒消息。
# 基本用法
通知提示框默认从屏幕右上角出现,默认3秒钟之后消失,当设置durantion为0时,通知提示框不会自动关闭,
但可设置显示关闭按钮,showClose:true,按下关闭按钮时,关闭通知提示
# 不同状态下的通知提示
# 通知提示框出现的不同位置
# 全局方法
terse-ui为Vue.prototype添加了全局方法$notification,您可以使用this.$notification.closeAll()关闭页面上的所有的消息提示框。
# message相关参数说明
参数 | 说明 | 类型 | 默认值 | 可选择 |
---|---|---|---|---|
type | 主题类型 | String | —— | info/danger/success/warning |
title | 标题 | String | —— | —— |
message | 说明文字 | String | —— | —— |
duration | 通知提示框关闭的时间,单位毫秒,设置为0,不会自动关闭 | Number | 3000 | —— |
showClose | 是否显示关闭按钮 | Boolean | true | —— |
offset | 通知提示框距离顶部的距离 (单位:px) | Number | 20 | —— |
onClose | 关闭时的回调函数 | Function | —— | —— |
position | 通知提示框出现的位置 | String | top-right | top-left/top-left/bottom-left/bottom-right |
# 面包屑-breadcrumb
显示当前页面的路径,快速返回之前的任意页面。
# 基本用法
# 图标分隔符
# breadcrumb相关参数说明
参数 | 说明 | 类型 | 默认值 | 可选择 |
---|---|---|---|---|
separator | 分隔符 | String | / | —— |
# breadcrumbItem相关参数说明
参数 | 说明 | 类型 | 默认值 | 可选择 |
---|---|---|---|---|
to | 路由跳转对象,同 vue-router 的 to | String/Object | —— | —— |
replace | 在使用 to 进行路由跳转时,启用 replace 将不会向 history 添加新记录 | Boolean | false | —— |
# 对话框-dialog
在保留当前页面状态的情况下,告知用户并承载相关操作
# 基本用法
# dialog相关参数说明
参数 | 说明 | 类型 | 默认值 | 可选择 |
---|---|---|---|---|
visiable | 是否显示 Dialog,支持 .sync 修饰符 | Boolean | false | —— |
title | Dialog的标题 | String | —— | —— |
width | Dialog内容宽度 | String | 50% | —— |
show-close | 是否显示关闭按钮 | Boolean | true | —— |
before-close | 关闭前的回调,会暂停Dialog的回调 | Function(done) done为函数,关闭Dialog需要被调用,当参数传入false时,此时Dialog不会被关闭 | —— | —— |
# slot
参数 | 说明 |
---|---|
—— | Dialog的内容 |
title | Dialog的标题内容 |
footer | Dialog的底部内容 |
# dialog事件
事件名称 | 说明 | 回调参数 |
---|---|---|
open | Dialog被打开时触发 | —— |
opend | Dialog打开动画结束时触发 | —— |
close | Dialog被关闭时触发 | —— |
closed | Dialog关闭动画结束时触发 | —— |
# 卡片-card
将信息聚合在卡片容器中展示。
# 基本用法:
# 卡片的阴影
通过设置shadow的值来配置卡片阴影的显示
# card相关参数说明
参数 | 说明 | 类型 | 默认值 | 可选择 |
---|---|---|---|---|
title | card的标题 | String | —— | —— |
shadow | 配置卡片的阴影 | String | always | always/never/hover |
# slot
参数 | 说明 |
---|---|
—— | Card的内容 |
title | Card的标题内容 |
# 标签页-tab
分隔内容上有关联但属于不同类别的数据集合。
# 基本用法
# 禁用选项卡
# 设置选项卡的位置
通过设置direction的值来改变选项卡的位置,可选值有vertical,horizontal,默认为vertical
# 设置选项卡可被删除
通过设置 showDelete:true 使得选项卡激活删除状态
# tabs相关参数说明
参数 | 说明 | 类型 | 默认值 | 可选择 |
---|---|---|---|---|
v-model | 绑定值,选中选项卡的name | String | —— | —— |
showDelete | 选项卡是否可以被删除 | Boolean | false | —— |
direction | 选项卡显示的方向 | String | vertical | vertical/horizontal |
# tabPane相关参数说明
参数 | 说明 | 类型 | 默认值 | 可选择 |
---|---|---|---|---|
name | 与选项卡绑定值 value 对应的标识符,表示选项卡别名 | String | —— | —— |
label | 选项卡的标题 | String | —— | —— |
disabled | 选项卡是否被禁用 | Boolean | false | —— |
# slot -- tabPane
参数 | 说明 |
---|---|
—— | 选项卡的具体内容 |
# tabs事件
事件名称 | 说明 | 回调参数 |
---|---|---|
change | 任意tab被选中时触发 | 被选中选项卡的标示符 |
# 分割线-divider
区隔内容的分割线。
# 基础用法
对不同章节的文本段落进行分割。
# 设置文案
可以在分割线上自定义文案内容,并可以设置显示的位置
# 垂直分割
# divider相关参数说明
参数 | 说明 | 类型 | 默认值 | 可选择 |
---|---|---|---|---|
position | 设置分割线文案的位置 | String | center | center/left/right |
direction | 设置分割线的方向 | String | horizontal | horizontal / vertical |
# 抽屉-drawer
Drawer 抽屉 有些时候, Dialog 组件并不满足我们的需求, 比如你的表单很长, 亦或是你需要临时展示一些文档, Drawer 拥有和 Dialog 几乎相同的 API, 在 UI 上带来不一样的体验.
# 基本用法
呼出一个临时的侧边栏, 可以从多个方向呼出
# drawer相关参数说明
参数 | 说明 | 类型 | 默认值 | 可选择 |
---|---|---|---|---|
visiable | 是否显示 Drawer,支持 .sync 修饰符 | Boolean | false | —— |
title | Drawer的标题 | String | —— | —— |
width | Drawer内容宽度 | String/Number | 30% | —— |
show-close | 是否显示关闭按钮 | Boolean | true | —— |
before-close | 关闭前的回调,会暂停Drawer的回调 | Function(done) done为函数,关闭Dialog需要被调用,当参数传入false时,此时Drawer不会被关闭 | —— | —— |
direction | Drawer出现的位置 | String | right | right/left/top/bottom |
# slot
参数 | 说明 |
---|---|
—— | Drawer的主体内容 |
title | Drawer的标题内容 |
# dialog事件
事件名称 | 说明 | 回调参数 |
---|---|---|
open | Drawer被打开时触发 | —— |
opend | Drawer打开动画结束时触发 | —— |
close | Drawer被关闭时触发 | —— |
closed | Drawer关闭动画结束时触发 | —— |