2.0.2 • Published 2 months ago

yer-components v2.0.2

Weekly downloads
9
License
ISC
Repository
-
Last release
2 months ago

type说明yer-components组件说明文档

安装

npm install yer-components

准备工作

该组件需要依托uview和mescroll(yer-list-view基于mescroll封装)才能正常使用。

// 图片压缩包(图片上传组件引用)必装
npm install compressorjs

yer-form

根据动态配置进行表单渲染

Props

参数说明类型默认值可选值
v-model表单双向绑定数据
config动态表单配置信息Array-见下方config说明
default-value默认值Object--
label-width左侧提示文字宽度,会覆盖config里配置的值Number|String0
label-name自定义 list数据的 label属性名,会覆盖config里配置的值Stringlabel
value-name自定义 list数据的 value属性名,会覆盖config里配置的值Stringvalue
action图片上传地址String-
header图片上传的头部信息Object-
upload-form-data图片上传额外的formDataObject-
value-type图片返回类型Stringarrayarray(base64模式用数组类型,否则会报错),string(用逗号分割)
max-count图片上传数量Number9最大支持9张
eval-path图片返回接口的对象计算Stringdata返回结果是对象,参考类似这种写法res.data.url
mode图片上传的模式,选择filestream的话必须配置actionStringbase64filestream(文件流),base64(带头部value-type选array)

config配置说明

参数说明类型默认值可选值
type表单类型Stringinput见下方type说明
key必填,数据项列名String-
label必填,左侧提示文字String-
required最左侧的*号Booleanfalse
placeholder提示文字String请选择
visible控制显示隐藏Boolean/Functiontrue详见下方visible说明
rules表单验证规则Array-详见uview表单验证规则
list代码项list,radio,checkox,select,side-select,side-select-mutil等需要字典的组件使用Array-
label-name自定义 list数据的 label属性名Stringlabel
value-name自定义 list数据的 value属性名Stringvalue
max-count图片上传可选的最大数量Number-image-upload专用
action图片上传的地址,后端配合
mode图片上传的模式,选择filestream的话必须配置actionStringfilestreamfilestream/base64
type说明
名称说明
input文本输入框
number数字
textarea文本域
select底部弹框选择器(单选)
side-select侧边弹框选择器(单选)
side-select-mutil侧边弹框选择器(多选)
car-plate车牌号
idcard身份证
phone手机号
radio单选
checkbox多选
image-upload图片上传
date日期yyyy-MM-dd
date-hour日期yyyy-MM-dd HH
date-minute日期yyyy-MM-dd HH:mm
date-second日期yyyy-MM-dd HH:mm:ss
time-minute时间HH:mm
time-second时间HH:mm:ss
visible说明

visible回调函数参数为当前表单的值,返回true显示,false隐藏

{
    type: 'custom',
    label: '(性别不明)自定义组件',
    key: 'xzz', //
    visible: (formData) => {
        if (formData.select === '0') {
            return true
        }
        return false
    },
    rules: [
        {
            required: true,
            message: '自定义组件必填',
            // 可以单个或者同时写两个触发验证方式
            trigger: 'blur,change'
        }
    ]
}
完整config配置

1.如果需要回显数据,应先获取到全部字典后再初始化表单组件。

2.建议config写成计算属性,方便字典赋值。

config: [
    {
        type: 'YerInput',
        key: 'input', //
        label: '文本',
        required: false,
        rules: [{ // 表单验证规则 同uview表单验证规则 
            required: true,
            message: '请输入姓名',
            trigger: 'blur,change' // 可以单个或者同时写两个触发验证方式
        }],
    },
    {
        type: 'YerTextview',
        key: 'textview', //
        label: '只读文本',
        required: false
    },
    {
        type: 'YerTextarea',
        key: 'textarea', //
        label: '文本域',
        required: false
    },
    {
        type: 'YerIdcard',
        key: 'idcard', //
        label: '身份证号',
        required: true,
        placeholder: '请填写身份证'
    },
    {
        type: 'YerCarPlate',
        key: 'carPlate', //
        label: '车牌号',
        required: true,
        placeholder: '请填写车牌号'
    },
    {
        type: 'YerPhone',
        key: 'phone', //
        label: '手机号',
        required: true,
        placeholder: '请填写手机号'
    },
    {
        type: 'YerSelect',
        key: 'select', //
        label: '上拉单选',
        list: [
            {
                label: '男',
                value: '1'
            },
            {
                label: '女',
                value: '2'
            },
            {
                label: '不明',
                value: '0'
            }
        ],
        required: true
    },
    {
        type: 'YerRadio',
        key: 'radio', //
        label: '单选',
        labelName: 'zdmc',
        valueName: 'zddm',
        visible: true,
        list: [
            {
                zdmc: '是',
                zddm: '1'
            },
            {
                zdmc: '否',
                zddm: '2'
            }
        ],
        required: true
    },
    {
        type: 'YerRadio',
        key: 'radio', //
        label: '单选',
        visible: (formData) => {
            console.log('visible回调', formData)
            if (formData.sfxb === '1' && formData.xm === '隐藏') {
                return false
            }
            return true
        },
        labelName: 'zdmc',
        valueName: 'zddm',
        list: [
            {
                zdmc: '是',
                zddm: '1'
            },
            {
                zdmc: '否',
                zddm: '2'
            }
        ],
        required: true
    },
    {
        type: 'YerCheckbox',
        key: 'checkbox', //
        label: '多选',
        list: [
            {
                label: '男',
                value: '1'
            },
            {
                label: '女',
                value: '2'
            },
            {
                label: '不明',
                value: '0'
            }
        ],
        required: true
    },
    {
        type: 'YerSideSelect',
        key: 'sideSelect', //
        label: '侧边单选',
        list: [
            {
                label: '男',
                value: '1'
            },
            {
                label: '女',
                value: '2'
            },
            {
                label: '不明',
                value: '0'
            }
        ],
        required: true
    },
    {
        type: 'YerSideSelectMutil',
        key: 'sideSelectMutil', //
        label: '侧边多选',
        list: [
            {
                label: '男',
                value: '1'
            },
            {
                label: '女',
                value: '2'
            },
            {
                label: '不明',
                value: '0'
            }
        ],
        required: true
    },
    {
        type: 'YerDate',
        key: 'date', //
        label: '日期',
        required: true
    },
    {
        type: 'custom',
        label: '(性别不明)自定义组件',
        key: 'xzz', //
        visible: (formData) => {
            if (formData.select === '0') {
                return true
            }
            return false
        },
        rules: [
            {
                required: true,
                message: '自定义组件必填',
                // 可以单个或者同时写两个触发验证方式
                trigger: 'blur,change'
            }
        ]
    },
    {
        type: 'YerImageUpload',
        key: 'rxzp', //
        label: '图片上传',
        mode: 'base64'
    }
]

yer-list-view

每次列表数据更新都要执行一次endBySize,用于判断是否存在下一页数据。

Props

参数说明类型默认值可选值
top距离顶部距离String0rpx-
bottom距离底部距离String0rpx-
fixed定位方式Booleantruefalse
height列表高度,如果设置了height,则fixed属性强制falseString--

Event

事件名说明回调参数版本
upCall上拉加载等多上拉加载的回调 (返回mescroll实例对象),mescroll.num当前页码,mescroll.size每页条数-
downCall下拉刷新下拉刷新的回调 (返回mescroll实例对象)-

Methods

方法用ref调用
方法名说明参数版本
endBySize每次列表数据更新都要执行一次,curPageLen是表示本次返回的数据,totalSize表示总数据curPageLen, totalSize-
resetUpScroll刷新列表数据--

yer-base-page

带头部导航和底部按钮的base页面

Props

参数说明类型默认值可选值
show-navbar展示导航栏Booleanfalsetrue
navbar-background导航栏背景色String#FFFFFF-
nav-title-color导航标题颜色String#606266-
title导航标题String--
nav-height导航栏高度,单位是pxNumber44-
bottom-text底部按钮文字String提交-
is-bottom展示底部按钮Booleanfalsetrue

Event

事件名说明回调参数版本
commit底部按钮点击事件--

Solt

名称说明
-中间主体部分
2.0.2

2 months ago

2.0.1

3 months ago

2.0.0

3 months ago

1.3.3

5 months ago

1.2.8

8 months ago

1.2.7

8 months ago

1.2.6

8 months ago

1.2.5

8 months ago

1.2.4

9 months ago

1.3.2

7 months ago

1.2.3

9 months ago

1.3.1

8 months ago

1.2.2

9 months ago

1.3.0

8 months ago

1.2.9

8 months ago

1.2.0

12 months ago

1.1.1

12 months ago

1.0.2

1 year ago

1.1.0

12 months ago

1.0.1

1 year ago

1.0.0

1 year ago

1.1.9

12 months ago

1.1.8

12 months ago

1.0.9

12 months ago

1.1.7

12 months ago

1.0.8

12 months ago

1.1.6

12 months ago

1.0.7

12 months ago

1.1.5

12 months ago

1.0.6

1 year ago

1.1.4

12 months ago

1.0.5

1 year ago

1.1.3

12 months ago

1.0.4

1 year ago

1.2.1

12 months ago

1.1.2

12 months ago

1.0.3

1 year ago

0.0.9

1 year ago

0.0.8

2 years ago

0.0.7

3 years ago

0.0.3

3 years ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.6

3 years ago

0.0.2

3 years ago

0.0.1

4 years ago