1.0.1 • Published 6 years ago

lq-component v1.0.1

Weekly downloads
4
License
MIT
Repository
github
Last release
6 years ago

lq-component

基于antd的公共组件

项目地址

Installation

npm install lq-component --save

按需加载解决方案(仅适用单个引入组件)

babel配置文件.babelrc里的plugins添加

["babel-plugin-imports-transform", {
  "local-components": {
    "transform": "local-components/dist/${member}",
    "preventFullImport": true
  }
}]

需要先安装插件包

npm install babel-plugin-imports-transform --save-dev

表单解决方案

辅助函数

createFormItem(options)

参数说明类型默认值
options.field字段object
options.formform实例object
options.formItemLayout布局object
options.colSpan一行占格数number24

引用此方法就不能按需加载

onFieldsChange(props, fields)

用于Form.create参数,确保props里有changeRecord

mapPropsToFields(props)

用于form.create参数,确保props里有values或record

布局

栅格布局,一行24格 label / wrapper 默认 4 / 6 可通过formItemLayout设置,如:

options.formItemLayout = {
  labelCol: {
    span: 4,
  },
  wrapperCol: {
    span: 14,
  },
}

提供三种快速布局,field'simple'|'long'|'double'

simple为4 / 14, 行占24

long为4 / 20, 行占24

double为 8 / 12, 行占12,设置field'left'|'right'区别左右,两列布局

校验

可编辑才校验,隐藏只读不校验

field属性说明类型默认值
required必填booleanfalse
max最大值number120
min最小值number
validator自定义函数function
pattern正则Regex
patternMsg正则自定义信息string
phone手机校验booleanfalse
number数字校验booleanfalse
ID身份证校验booleanfalse

编辑/查看

每个组件有两种状态,设置disabled或readonly为true/false

一般跟store的record绑定,通过onFieldsChange跟mapPropsToFields两个函数

record = {
  name: {
    value: 'Jack'
  },
  age: {
    value: 18,
  },
};

可设默认值 用form.validateFields方法获取表单上的值或直接取record

通用列表页

npm.io 由标题、操作按钮、搜索栏、表格及弹窗表单组成

成员说明类型默认值
title自定义标题名string
name模块名string
rowKey表格记录主键stringid
loading表格加载中booleanfalse
confirmDisabled弹窗表单按钮可用booleanfalse
confirmLoading弹窗表单按钮加载中booleanfalse
columns表格字段array必填
fields弹窗表单字段array
data表格数据array
search搜索栏搜索触发function必填
save弹窗表单保存按钮触发function
record弹窗表单数据object
modalVisible弹窗表单显示booleanfalse
cancel弹窗表单取消触发function
changeRecord弹窗表单数据改变触发function
changeSearch搜索数据改变触发function
searchParams搜索数据object
resetSearch搜索数据重置触发function
aboveSearch搜索栏前自定义htmljsx
sorter表格排序object
xScroll表格宽度number
validateDisabled表单验证模式booleanfalse

通用详情页

npm.io 有标题(面包屑)、表单、操作按钮组成

成员说明类型默认值
title自定义标题名string
loading表单加载中booleanfalse
fields表单字段array
rowKey主键stringid
buttons操作按钮array
routers面包屑路径array
validateDisabled表单验证模式booleanfalse

可用二次封装组件

  • Captcha 手机验证码输入框

    npm.io

    成员说明类型默认值
    count重新发送倒计时number60
    onClick按钮按下时触发,需返回promisefunction
    valuestring
    onChange输入改变时触发function(value)
  • DatePicker 日期选择框

    npm.io

    成员说明类型默认值
    valuestring/date: monent
    onChange选择改变时触发function(value)
  • Editor 富文本编辑框

    npm.io

    成员说明类型默认值
    valuestring
    onChange输入改变时触发function(value)
  • ImagePicker 图片上传框

    npm.io

    成员说明类型默认值
    tokenSeparators值分隔符string
    valuestring/array
    onChange选择改变时触发function(value)
  • Input 输入框

    npm.io

    成员说明类型默认值
    valuestring
    onChange输入改变时触发function(value)
  • MonthPicker 月份选择框

    npm.io

    成员说明类型默认值
    valuestring/date: monent
    onChange选择改变时触发function(value)
  • MonthRange 月份范围选择框

    npm.io

    成员说明类型默认值
    valuearray
    onChange选择改变时触发function(value)
  • Number 数字输入框

    npm.io

    成员说明类型默认值
    valuestring/number
    min最小值number
    max最大值number
    money金额格式化booleanfalse
    onChange输入改变时触发function(value)
  • NumberRange 数字范围输入框

    npm.io

    成员说明类型默认值
    valuearray
    startMin最小值number
    endMax最大值number
    onChange输入改变时触发function(value)
  • Select 选择框

    npm.io

    成员说明类型默认值
    multiple多选模式booleanfalse
    valueName值名称stringid
    displayName展示值名称stringname
    valuestring/array
    onChange选择改变时触发function(value)
    onSelect选择改变时触发function(value, record)
    page异步数据分页object(pageSize, pageNo, count, loading, data, query)
    action分页是需设置,需返回promisefunction
    showSearch可搜索boolean
  • Table 表格

    成员说明类型默认值
    loading数据加载标志booleanfalse
    columns列定义array
    dataSource数据array
    onChange分页改变时触发function(value)
  • 表单弹出框

    成员说明类型默认值
    confirmLoading保存按钮加载标志booleanfalse
    fields字段定义array
    values数据array
    changeRecord输入改变时触发function(fields)
    visible显示/隐藏booleanfalse
    onCancel按取消按钮时触发function
    onCreate按保存按钮时触发function
    cusTitle弹出框标题string
    formWidth弹出框宽度number1000
  • 列表页

    成员说明类型默认值
    title标题string
    loading数据加载标志booleanfalse
    columns列定义array
    data数据array
  • 详情页

    成员说明类型默认值
    title标题string
    loading数据加载标志booleanfalse
    values数据array
    buttons自定义底部按钮array
    children自定义展示快object(JSX)
    changeRecord输入改变时触发function(fields)

表单配置参数一览

  • name 字段名(对应接口字段名)
  • label 标签名
  • disabled 禁用,这里更确切的理解应为只读,用于展示
  • hidden 隐藏,不作校验
  • search 是否是搜索栏字段
  • required 必填
  • validator 自定义校验
  • pattern 正则校验
  • patternMsg 正则校验提示信息
  • phone 是否手机号
  • number 是否数字
  • positive 是否正数
  • ID 是否身份证
  • char 是否字母数字组合
  • long 占满 一行样式
  • simple 占中间 一行样式
  • style 自定义内联样式
  • className 自定义class样式
  • type 类型
    • title 标题行
    • date 日期
    • Cascader 三级地区级联
      • data 地区数据
    • datetime 日期时间
    • dateRange 日期范围
    • month 月份
    • datetimeRange 日期时间范围
    • monthRange 月份范围
    • select 下拉选择,可多选
      • data 下拉数据
      • valueName 真实值
      • displayName 表现值
      • page 分页对象
    • editor 富文本
    • checkbox 复选
    • image 图片
      • tokenSeparators 多图片分隔符
    • password 密码
    • number 数字
      • min 最小值
      • max 最大值
      • money 是否金额格式化
    • textarea 多行文本
    • radio 单选框
    • numberRange 数字范围
      • startMin 开始最小值
      • endMax 结束最大值
    • 为空 即text 输入框
      • buttonText 带按钮