0.1.95 • Published 8 months ago

admall-ui v0.1.95

Weekly downloads
-
License
ISC
Repository
-
Last release
8 months ago

颜色变量

admall-ui中使用了一下颜色变量, 请在项目中提前设置

$main-color: #ff7e12; // 主色
$main-color2: #3d7fff; // 辅助色

$border-color: #dadada; // 边框主色
$border-color2: #f0f2f5; // 边框辅助色

$font-color: #333; // 文字主色
$font-color2: #666; // 文字辅助色
$font-color3: #999; // 文字辅助色

$primary-color: #ff7e12; // 主色
$success-color: #38bd0e; // 成功
$warning-color: #ffa217; // 警告
$error-color: #ff2200; // 错误
$tips-color: #909399; // 提示

$link-color: #3d7fff;

Alert

该组件引入后可以通过自定义方法显示一个弹出确认框, 返回 Promise 对象

this.$alert(options)             默认显示不带图标的弹窗
this.$alert.success(options)     带有成功图标的弹窗
this.$alert.error(options)       带有错误图标的弹窗
this.$alert.warning(options)     带有警告图标的弹窗
this.$alert.tips(options)        带有提示图标的弹窗

options

{
  title:'', // 弹窗标题,
  content:'',//弹窗内容,
  confirmText:''// 确认按钮文字
  cancelText:''// 取消按钮文字
}

案例:

async function alert() {
  try {
    await this.$alert({
      title: '删除提示',
      content: '确定要删除该文件吗',
      confirmText: '确定删除',
      cancelText: '我再想想',
    });
    console.log('confirm');
  } catch (e) {
    console.log('cancel');
  }
}

Avatar

头像展示组件

props类型描述
srcString头像路径,如果路径对应的资源加载失败,会显示默认头像
sizeString头像尺寸

Button

按钮, 支持防抖功能

props类型描述
waitString,Number设置防抖功能, 如果添加了这个属性, 默认防抖间隔为 1000 毫秒, 可以使用wait=200的格式重新设置防抖间隔
w,widthString,Number按钮宽度
prefix-iconString前置 icon
primaryBoolean主色调按钮
errorBoolean错误样式按钮
warningBoolean警告样式按钮
successBoolean成功样式按钮
borderBoolean线框型按钮
disabledBoolean禁用按钮钮
autoBoolean默认情况下,按钮宽度为父级元素的 100%, 设置autotrue的时候, 按钮元素会添加width:auto属性
slots作用
default内容
<adm-button>普通按钮</adm-button> <adm-button wait>防抖按钮</adm-button>

Card

卡片组件

props类型描述
titleString卡片标题, 如果设置为空字符串, 会隐藏标题栏
slots作用
default内容
subtitle副标题部分

Checkbox

复选框组件

props类型描述
v-modelBoolean, Array必须是布尔值或者数组
labelString,Number如果 v-model 是数组,label 将作为判断是否被选中的条件,必传
disabledBoolean是否禁用组件
readonlyreadonly限制组件只读

DatetimePicker

日历组件,暂时仅支持年月日

props类型描述
v-modelBoolean, Array绑定值
placeholderString提示语
clearableBoolean是否显示清空按钮
yearBoolean年份选择器
monthBoolean年月选择器
dateBoolean年月日选择器
width,wString组件宽度
Picker OptionsObject组件宽度

Picker Options说明

props类型描述
disabledDateFunction设置禁用状态,参数为当前日期,要求返回 Boolean
event作用
@change值改变事件

Dialog

弹出框组件

props类型描述
visible.syncBoolean是否显示弹出框
titleString标题
slot作用
header自定义头部内容
default自定义弹出框内容
methods作用
vm.close弹出框关闭事件

Field

表单字段组件,支持 v-model

props类型描述
requiredBoolean是否显示星号
inlineBoolean默认 false, label 与表单内容水平布局
verticalBoolean默认 false, label 与表单内容垂直布局
labelString字段名称
labelWidthString, Number字段名称占用的宽度, 数字或者百分比
leftBoolean默认属性, label 内的文字靠左对齐
centerBooleanlabel 内的文字居中对齐
rightBooleanlabel 内的文字靠右对齐
topBooleanlabel 内的文字靠顶部对齐
msgString字段提示内容
errString字段错误警告内容
slots作用
default内容

Input

输入框组件

props类型描述
formatString限制输入框类型, 4表示仅允许 4 位整数,4.2表示仅允 许 4 位整数和 2 位小数, .3表示整数不限制,小数限制 3 位
prefix-iconString前置 icon
leftBoolean文本内容左对齐
centerBoolean文本内容居中对齐
rightBoolean文本内容右对齐
labelString输入框内左侧提示语
rightBoolean文本内容右对齐
readonlyBoolean只读输入框
disabledBoolean被禁用输入框
clearableBoolean显示清空按钮
miniBoolean小型输入框,高度 22px
w,widthString,Number数字类型字符串或数字,定义输入框宽度
dataArrayString如果提供了这个属性,且属性值 length 大于 0, 会在获取焦点的时候,打开被备选框
event描述
@input-
@enter回车事件
@change输入框的值发生改变事件, fn(v,isSelectedOption=false), v: 当前值, isSelectedOption:当点击备选值得时候,该参数值为 true, 主要是为了避免change事件恶性循环, 使用者可以根据这个参数来判断是否执行真正的change事件
<!-- 只能输入4位整数 -->
<adm-input format="4" />

<!-- 只能输入4位整数和2位小数 -->
<adm-input format="4.2" />

<!-- 限制2位小数 -->
<adm-input format=".2" />

插槽

event描述
default默认插槽, 会显示在真实输入框右侧,一般用来显示单位
<adm-input label="年龄" format="4.2">岁</adm-input>

Link

props类型描述
waitString,Number设置防抖功能, 如果添加了这个属性, 默认防抖间隔为 1000 毫秒, 可以使用wait=200的格式重新设置防抖间隔
prefix-iconString前置 icon
primaryBoolean主色调文本
errorBoolean错误样式文本
warningBoolean警告样式文本
successBoolean成功样式文本
slots作用
default内容

Message

该组件引入后可以通过自定义方法显示一个消息提示窗, 有三种类型, 例子

this.$message(msg text)             默认是成功弹窗
this.$message.success(msg text)     成功弹窗
this.$message.error(msg text)       错误弹窗
this.$message.warning(msg text)     警告弹窗
this.$message.tips(msg text)        提示弹窗

Notify

该组件引入后可以通过自定义方法显示一个通知提示框, 通知框没有数量限制, 但是在超出当前屏幕可是高度时, 会自动缓存起来, 随着关闭通知框的操作再依次展示

this.$notify(options)             默认是成功弹窗
this.$notify.success(options)     成功弹窗
this.$notify.error(options)       错误弹窗
this.$notify.warning(options)     警告弹窗
this.$notify.tips(options)        提示弹窗

options

{
  title:'', // 通知标题,
  content:'',//通知内容,
  buttonText:''// 按钮文字
  buttonCallback:''// 按钮事件, 按钮文字和按钮事件同时存在时, 才会显示按钮
  meta:{}// 其他数据, 这里的数据会当做参数传递给buttonCallback事件
}

案例:

this.$notify({
  title: '通知',
  content: '您的剩余时间已不多, 请及时充值',
  buttonText: '我知道了',
  buttonCallback: (data) => {
    console.log(data); // data内容与meta相同
  },
  meta: {
    name: 'zhangsan',
  },
});

Pager

页码组件

props类型描述
pageSizeNumber每页展示数量
pageNoNumber当前页码
totalNumber总数量
pageSizesNumber每页显示个数选择器
jumperBoolean是否显示前往*页组件
event描述
pageNoChanged页码改变事件
pageSizeChangedpageSize 改变时会触发

Radio

复选框组件

props类型描述
v-modelString,Number
labelString,Number当 label 严格等于 v-model 的值时, 单选框处于选中状态
disabledBoolean是否禁用组件
readonlyreadonly限制组件只读

Scene

场景组件, 该组件主要目的是为了减少 CSS 工作量, 和快速部署 flex/栅格化布局, 组件不支持的 CSS 属性,请在 CSS 中另行设置

props类型描述
flexBoolean设置 flex 布局
columnBooleanflex 垂直布局
wrapBooleanflex 内允许换行
growBoolean, String允许元素本身自动增长
shrinkBoolean允许元素本身在控件不够的情况下缩小尺寸
fixedBoolean不允许元素本身增长或者被挤压
fillBoolean设置所有的子元素自动按比例扩展尺寸
leftBooleanflex 时设置子元素水平左对齐
rightBooleanflex 时设置子元素水平右对齐
centerBooleanflex 时设置子元素水平居中对齐
topBooleanflex 时设置子元素垂直左对齐
bottomBooleanflex 时设置子元素垂直左对齐
middleBooleanflex 时设置子元素垂直左对齐
widthString, Number设置元素宽度
wString, Number设置元素宽度
pString, Number设置元素 padding 值
plString, Number设置元素 padding-left 值
prString, Number设置元素 padding-right 值
ptString, Number设置元素 padding-top 值
pbString, Number设置元素 padding-bottom 值

Select

下拉框组件,支持多级下拉框

props类型描述
dataArray数据来源
labelNodeString默认值name, 这个字段属性的值会显示在列表中
keyNodeString默认值id , 这个字段功能等同于 vue 的 key 属性, 不能有重复的 key 值 如果你的数据内没有id属性,需要自行定义
valueNodeString默认值id, 这个字段决定了组件的返回值
childrenNodeString默认值children, 多级联动时,这个字段决定了子级数据的来源
placeholderString同 input 的 placeholder 属性
clearableBoolean设置显示清空按钮
disabledBoolean设置禁用按钮钮
w,widthString,Number数字类型字符串或数字,定义输入框宽度
rangeString,Number限制用户选择层次, 比如该值为 3, 用户只点击前两层会无效
event描述
@change下拉框值改变事件, 返回两个参数(selectValue,selectItem)
methods描述
vm.getFullValue获取用户选择的具体内容

selectValue

selectValue 表示用户当前选中项中对应value-node的属性值

selectItem

selectItem 表示用户当前选中项中所有的属性值

SmsCode

验证码组件, 全局通用

props类型描述
rangeNumber倒计时周期, 默认 60 秒
mobileString手机号码, 必传, 如果号码格式错误, 会导致按钮被禁用
apiFunction要调用的接口函数
event描述
@success接口调用成功事件
@error接口调用失败事件
// 注意, 这里的函数不需要处理axios的错误, 错误会抛出给smscode组件
export default {
  async getSmsCode() {
    await this.$axios.$post('/admall-user/api/login/smscode-register', {
      phone: this.smsLogin.account,
    });
  }
},

Space

占位符组件, 在不想写padding或者margin时,最为又用

props类型描述
w/widthString,Number数字, 定义组件宽度
h/heightString,Number数字,定义组件高度

Steps

步骤条 | props | 类型 | 描述 | | --------- | ----------------| ------------------------ | | data | Array | 步骤条数据来源 | | active | String,Number | 当前激活步骤 | | background| String | 步骤条背景颜色,默认'#fff' |

Table

表格组件

props类型描述
dataArray数据源
columnsArray列数据

columns 属性

props类型描述
labelString列头文字
propString列 key, 自动从每行数据中获取该 key 对应的字段值展示
widthString设置列宽度, 该宽度设置后,列宽会固定

slot

插槽分为两种, 一种是列头的插槽, 一种是单元格插槽,

单元格插槽:

<template #prop="{row, index}">
  <!-- row 单行数据 -->
  <!-- index  行索引 -->
  <!-- data  全部数据 -->
</template>

列头插槽:

<template #prop_th="{row, index}">
  <!-- col 列信息 -->
  <!-- index 列索引 -->
  <!-- data  全部数据 -->
</template>

Tabs

tab 切换组件

props类型描述
dataArray标签数据来源{name:'',label:''}
borderBoolean显示下方下划线
backgroundBoolean显示背景色和边框
backgroundBoolean显示背景色和边框
labelWidthString, Number自定义标签宽度
defaultNameString默认显示的标签页,必须是 data 中某一条数据的 name 属性值
event描述
changetab 切换事件, 如果监听了该事件, tab 不会自动切换, 主动权交给使用者 使用者可以通过修改defaultName的值,来触发组件真实显示的内容

插槽

Tab 组件的插槽与 data 中的name 属性相关

{
  dict: [
    {
      name: 'onway',
      label: '已发货',
    },
    {
      name: 'confirmed',
      label: '已收货',
    },
  ];
}
<adm-tabs>
  <template #onway="">
    <!-- ...tab1 -->
  </template>
  <template #confirmed="">
    <!-- ...tab2 -->
  </template>
</adm-tabs>

Textarea

文本域组件

props类型描述
v-modelString双向绑定
height,hString文本域高度
msgString文本域下方, 额外的提示语信息
placeholderString文本域内的提示信息
disabledBoolean禁用文本域
event描述
@input-
@enter回车事件
@change-

Upload

上传组件, 支持进度回调, 支持整体引入和单组件引入

使用组件前, 要在use方法中,传入 OSS 参数

整体引入:

import AdmallUi from 'admall-ui'
Vue.use(AdmallUi, {
  upload:{
    prefix:  // 上传路径前缀, 组件内实际生成的fileName为`${prefix}/${path}/20210915/hash.文件后缀`
    buckets:[
        {
          region:bucket所属区域,
          bucket: bucket名称
        }
    ],
    refreshToken: { //获取OSStoken的异步函数, 必须返回以下内容
         accessKeyId:'',
        accessKeySecret:'',
        stsToken:'',
    }
  }
})
props类型是否必传描述
acceptString允许上传的文件类型默认为'*', 比如:'.jpg,.png,.gif,.mp4'
pathStringprefix与日期中间的路径
bucketStringbucket 名称
multipleBoolean设置允许选择多个文件, 必须与 maxLength 配合使用
maxLengthBoolean最大上传文件数量
progressString是否显示自带的上传进度 UI
beforeUploadFunction(files, next) 第一个参数表示用户选择的所有文件, 自行处理后, 需要调用next函数,并传入新的files才能继续执行
event描述
@change上传进度回调 (fileList)
@progress上传进度回调 (progress, checkpoit, fileList)
@error上传错误回调, (reuslt,fileList)
method描述
trigger模拟触发上传

result:

{
  code, //错误码  1001=超过文件最大数量, 1002=文件已存在, 1002=单个文件上传失败, 1004=单个文件超限, 1005=总文件超限, 1006 文件格式不符合要求
  msg, //错误文字信息
}

fileList:

  hash, //hash散列值, 当前上传组件中的唯一ID, 自定义UI组件时, 推荐使用该值去对比文件是否存在,或者更新文件信息,
  file, // 实际文件内容, File对象
  fileName, // 上传的真实路径
  progress,//  0-1, 仅表示上传进度, 不能用这个值表示上传是否成功
  success, // boolean,  上传是否成功, 当success为true的时候, 才能使用fileName获取文件
  error, // 表示该文件上传出现了错误
  remove, // fn, 从组件中删除该文件
  callback,//  fn, 进度回调函数, 该函数中触发了@progress事件, 不建议对此函数进行操作