龙马ui lm-ui-element

龙马ui lm-ui-element表单组件

2021-02-09  本文已影响0人  东扯葫芦西扯瓜

上一个组件:日历组件

lm-form 表单组件包含 lm-inputlm-selectlm-date-timelm-cascader 组件
表单组件必须包含在 element-uiel-form 组件和 el-row 组件中,请确保引入了element-uiElFrom、ElFormItem、ElRow 组件
表单组件支持表单状态(可编辑修改)和查看状态,不可见状态的切换,只需根据条件设置is-edit属性和disabled属性即可。

所有表单组件Attributes

参数 说明 类型 可选值 默认值
span 位置占位 Number 同 el-col 的span属性 12
label 标题 String -- ''
prop 验证属性值 String -- ''
width 宽度 Number / String -- --
height 高度 Number / String -- --
size 尺寸 String medium / small / mini --
labelWidth 表单项文字宽度 String -- --
isEdit 是否是编辑状态 Boolean -- true
spanStyle 查看状态下样式 Object -- {}
lmRef 标志以及按回车下一次跳转标志 Array -- []
disabled 是否禁用 Boolean -- --
required 是否必须 Boolean -- --
marginBottom 表单项下边距 String -- --

lm-input 输入框

Attributes
参数 说明 类型 可选值 默认值
value String / Number -- --
appendText 尾部文字 String -- --
appendIcon 尾部图标 String -- --
placeholder placeholder String -- 请输入
type 类型 String text,textarea 和其他 原生 input 的 type 值 text
prefixIcon 输入框前置图标 String -- --
maxlength 最大长度 String / Number -- --
minlength 最小长度 String / Number -- --
min 最小值 Number -- --
max 最大值 Number -- --
toFixed 保留的小数 Number -- --
autosize type="textarea"有效,自动尺寸 Boolean / Object -- { minRows: 2 }
elAuto 是否启用el-autocomplete组件 Boolean -- --
valueKey elAuto=true 有效,el-autocomplete输入建议对象中用于显示的键名 String -- name
placement elAuto=true 有效,el-autocomplete菜单弹出位置 String -- --
triggerOnFocus elAuto=true 有效,el-autocomplete组件是否在输入框 focus 时显示建议列表 Boolean -- false
inputQueryData elAuto=true 有效,el-autocomplete输入框建议数据 Array -- []
Events
事件名 说明 回调参数
change 输入框改变 (any)
enter 回车事件 --

lm-select 下拉选择框和单选按钮

Attributes
参数 说明 类型 可选值 默认值
value String / Number /Array -- --
formType 表单类型 String radio / multiSelect select
list 尾部图标 Array -- ['否','是']
placeholder placeholder String / Array -- 请选择
selectClass select类名 String -- --
oName 选项文字 String / Array -- name
oValue 选项值 String / Array -- value
filterable 是否可搜索 Boolean -- true
changeFun 下拉框改变的函数 Function / Array -- --
multiMargin 多个下拉框的边距 String -- 0 10px 0 0
multiList 多个下拉框的数据 Array -- --
Events
事件名 说明 回调参数
change 下拉框,单选框改变 (value:Object/Array)

lm-date-time 日期时间选择器

Attributes
参数 说明 类型 可选值 默认值
value String / Number /Array / Date -- --
formType 表单类型 String rangeDateTime dateTime
dateTimeType 日期时间类型(同element-ui el-date-picker) String year/month/date/dates/ week/datetime/datetimerange/ daterange/monthrange date
placeholder placeholder String / Array -- 请选择
defaultDateTimeValue 默认值 String / Array / Date / Number -- --
dateTimeValueFormat 时间格式(格式同element-ui el-date-picker) String -- --
dateTimeFormat 时间格式(格式同element-ui el-date-picker) String -- --
pickerOptions 时间日期配置(配置内容同element-ui el-date-picker配置,formType=rangeDateTime时晴传数组) Object / Array -- --
conectionText formType=rangeDateTime有效,时间范围连接符 String -- -
Events
事件名 说明 回调参数
change 事件日期改变 (date:String/Number/Date/Array)

lm-cascader 级联选择器

Attributes
参数 说明 类型 可选值 默认值
value String / Number -- --
placeholder placeholder 请选择
options 数据 Array -- --
oName 选项文字 String -- name
oValue 选项值 String -- value
filterable 是否可搜索 Boolean -- true
pickerOptions 级联配置(配置内容同element-ui el-cascader配置 props) Object -- --
代码示例
<template>
 <el-form :model="form" ref="form" :rules="rules" class="form" label-width="110px"  size="mini">  
        <el-row >
          <lm-input label="姓名:" v-model="form.name" prop="name" :lm-ref="['name','phoneNum']" :maxlength="20"/>
          <lm-input label="手机号:" v-model="form.phoneNum" prop="phoneNum" type="tel" :lm-ref="['phoneNum','orgId']" v-if="!isCert"/>
        </el-row>
        <el-row >
          <lm-select form-type="select" label="公司:" v-model="form.orgId" :list="addPersonCompanys" prop="orgId"  :lm-ref="['orgId','idcard']" @change="companyChange" :disabled="!!personDetailInfo.position"/>
            <lm-input label="身份证号:" v-model="form.idcard" prop="idcard" :lm-ref="['idcard','sex']" type="idcard"/>
        </el-row>
        <el-row>        
          <lm-select form-type="radio" label="性别:" v-model="form.sex" :list="['女','男']" prop="sex"/>
            <lm-date-time             
                            label="出生日期:"
                            prop="birthday"
                            v-model="form.birthday"                 
                            :picker-options="{disabledDate:birthdayDisableFun}"
                            :default-date-time-value="Date.now()-10*365*24*60*60*1000"
                    />
        </el-row>
        <el-row>
                 <lm-date-time :span="16" form-type="rangeDateTime" label="有效时间:" prop="effectiveTime" :placeholder="['请选择开始时间','请选择结束时间']"  :disabled="[false,true]" v-model="form.effectiveTime"  :width="220">
                      <template #dateTimeConection><span style="display: inline-block; margin:auto 10px;">至</span></template>
                    </lm-date-time>
        </el-row>
        <el-row>
         <el-button type="primary" @click="savePersonInfo" style="width:90px;height:40px;">保存</el-button>
</el-row>
      </el-form>
</template>
<script>
    import {validPhone,validIDCard,validRangeDateTime} from "lm-ui-element/lib/utils/lm-validate-methods";
export default {   
    data(){
        return {
                     form:{},//表单
                     rules: {
                           orgId: [{required: true, message: "请选择公司", trigger: ['blur', 'change']}],
                          name: [{required: true,message: '请输入姓名'},{min: 1,max: 10,message: '长度在 1 到 10 个字符'}],
                          phoneNum: [{required: true,message: '请输入联系方式',validator: validPhone},{min: 11,max: 11,message: '11位长度'}],
                          sex: [{required: true,message:'请选择性别',trigger: ['blur', 'change']}],
                          idcard: [{required: true,validator:validIDCard, trigger: ['blur', 'change']}],
                          birthday: [{required: true,message: '请选择出生日期', trigger: ['blur', 'change']}],
                         effectiveTime:[{
                                              required: true,
                                               validator:(rule, value, callback)=> validRangeDateTime(rule, value, callback,'请选择有效日期',this.idcardIsLongPeriod,{startRequired:true}),
                               trigger: ['blur', 'change']}],
                     },//实名表单验证
                     inputWidth:300,
                     idcardIsLongPeriod:true
                },
        
    },
     methods: {
                //保存信息
                async savePersonInfo(){
                    await  this.$refs.form.validate()
                    console.log(this.form)
                },
                //分包单位改变
                companyChange({value}){
                   console.log(value)
                },               
            },
    
}
</script>

下一个组件:地址选择组件

上一篇下一篇

猜你喜欢

热点阅读