Skip to content

RenderCell 属性

属性类型说明默认值
modelValuev-model数据undefined
itemobject渲染组件内容数据,下方有详细说明undefined
defaultSlotstringitem对象中如果没有slot值,将使用defaultSlotundefined
defaultPropobjectitem对象中如果没有propsdefaultPropundefined
allItemsarray兄弟RenderCell数据集,传递给荷载数据loadDataundefined
formDataobject父级表单model数据,传递给荷载数据loadDataundefined
qDataObject父级附加数据,传递给荷载数据loadDataundefined

item 属性

属性类型说明默认值
sortnumber排序,当需要排序的地方,可以用它来插入到默认单元的前面undefined
idstring表单组件v-model的对象key,循环渲染时候的key如果不传入,将随机生成一个uuid
labelstring当isFormItem=true时候,表单标签undefined
tipstringinput的placeholder,span、button、link、checkbox的默认插槽undefined
slotstring需要渲染的element-ui组件类型,默认去掉el字符,比如el-input,写为inputundefined
optionsselect、radio-group、checkbox-group子组件的options[]
directivesarray自定义指令数据[]
debounceboolen,numberv-model是否需要额外的防抖undefined
renderjsx Function当slot='render'的时候生效,直接渲染dom
slotsobject用于组件的插槽{}
propsobject传递给原生组件的props,如果其中有function类型,会自动添加loadData数据{}
onobject传递给原生组件的on,用于接收组件的emit事件,会自动添加loadData数据{}
showboolen|Function是否显示本组件,类似v-showtrue
isFormItemboolen是否在父级添加el-form-item组件true
formItemPropsobject如果isFormItem=true的时候,父级el-form-item组件的props参数{}
formItemProps.tipstring在label的后面添加一个提示图标,鼠标移动上去后会显示字符串内容
isColboolean是否添加一个el-col组件在外层false
colPropsobject如果添加了el-col,给它的配置
otherValueRangeArray<string>比如date-pcker组件,如果指定了时间范围,将会获得一个array的value,你可以在这里配置它们映射的其他value,比如['start','end'],将会把['2021-01-01','2021-01-02']映射成{start:'2021-01-01',end:'2021-01-02'}
valueWatchFunction当值发生变化时,触发这个方法
optionDomjsx Function自定义options节点的渲染函数
mask限定输入范围,详情可以查看mask属性,如果全局安装后,可以直接使用v-ipage-mask指令,只有slot="input"可用
moneyobject限定输入为金额格式,查看下方money属性,如果全局安装后,可以直接使用v-ipage-money指令,只有slot="input"可用{min: 0,precision: 2, max: Number.MAX_SAFE_INTEGER, complete: true}
...restany其他属性,将传递给实际的组件,推荐你还是应该放到上面的props里面,因为放在这里的方法不会被注入loadData{}

item.mask 属性

此功能代码来自于vue-the-mask

方法一:传入字符串或者数组字符串,表示如下默认值:

    mask:"##-###"

表示接收2位数的数字加横线+3位的数字

TIP

其中默认的规则有:
    C: { pattern: /[\u4e00-\u9fa5]/ },
    "#": { pattern: /\d/ },
    X: { pattern: /[0-9a-zA-Z]/ },
    S: { pattern: /[a-zA-Z]/ },
    A: { pattern: /[a-zA-Z]/, transform: v => v.toLocaleUpperCase() },
    a: { pattern: /[a-zA-Z]/, transform: v => v.toLocaleLowerCase() },
    "!": { escape: true }

方法二:传入对象,表示自定义规则,比如:

        mask:{
            mask:"ff",
            tokens:{
                f:{
                    pattern: /[a-zA-Z]/, 
                    transform: v => v.toLocaleUpperCase() 
                }
            }
        }

TIP

它将只接收2个英文,并转换成大写

item.money 属性

属性类型说明默认值
minnumber允许输入的最小值,它如果是负数,则允许输入负数0
maxnumber允许输入的最大值,它如果是负数,则只允许输入负数Number.MAX_SAFE_INTEGER
precisionnumber小数位数2
completeboolen是否给小数位数添0补位,你如果在默认值的情况下输入0.5,失去焦点的时候将会变为0.50true

loadData 荷载数据

传递给组件方法的有如下数据:itemdataqDataallItems$rcell

TIP

所有在item配置on和props下面的方法,都会被注入loadData,在方法自身参数的最后面,比如change事件

js
{
    "id":"name",
    "slot":"input",
    "on":{
        "change":(val,loadData)=>{
            // 常规的change只会提交val参数,而渲染核心会附加一个loadData进来。
            console.log(val,loadData,"change")
        }
    }
}

loadData 数据包括以下内容

  1. item为自生接收到的props.item
  2. data为props.formData
  3. qData为props.qData
  4. allItems为props.allItems
  5. $rcell为组件的实例

Released under the MIT License.