2.0.2 • Published 1 year ago

yer-components v2.0.2

Weekly downloads
9
License
ISC
Repository
-
Last release
1 year 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

1 year ago

2.0.1

1 year ago

2.0.0

1 year ago

1.3.3

2 years ago

1.2.8

2 years ago

1.2.7

2 years ago

1.2.6

2 years ago

1.2.5

2 years ago

1.2.4

2 years ago

1.3.2

2 years ago

1.2.3

2 years ago

1.3.1

2 years ago

1.2.2

2 years ago

1.3.0

2 years ago

1.2.9

2 years ago

1.2.0

2 years ago

1.1.1

2 years ago

1.0.2

2 years ago

1.1.0

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

1.1.9

2 years ago

1.1.8

2 years ago

1.0.9

2 years ago

1.1.7

2 years ago

1.0.8

2 years ago

1.1.6

2 years ago

1.0.7

2 years ago

1.1.5

2 years ago

1.0.6

2 years ago

1.1.4

2 years ago

1.0.5

2 years ago

1.1.3

2 years ago

1.0.4

2 years ago

1.2.1

2 years ago

1.1.2

2 years ago

1.0.3

2 years ago

0.0.9

2 years ago

0.0.8

4 years ago

0.0.7

4 years ago

0.0.3

4 years ago

0.0.5

4 years ago

0.0.4

4 years ago

0.0.6

4 years ago

0.0.2

5 years ago

0.0.1

5 years ago