注意
事件注入功能可以向事件和原生事件中注入fApi,rule和自定义属性
fApi
rule
开启事件注入后会给回调事件参数首位增加一个注入参数
<template> <form-create :rule="rule" v-model="fApi" :option="options" @prefix1-change="change"/> </template> <script> export default { data(){ return { fApi:{}, options:{ onSubmit:(formData)=>{ alert(JSON.stringify(formData)) } }, rule:[ { type:'input', field:'inputField', title:'change 事件', emit: [{ name: 'change', inject: ['自定义参数,数据类型不限'] }], emitPrefix:'prefix1', }, { type:'input', field:'inputField2', title:'blur 事件', inject:true, on:{ blur: this.blur } } ] } }, methods:{ change(inject){ alert(`change: ${inject.inject}[${inject.$f.getValue('inputField')}]`) }, blur(inject){ alert(`blur: ${inject.self.title}`) } } } </script>
inject 参数的数据结构
{ $f:Object,//api rule:Array,//生成规则 self:Object,//当前生成规则 option:Object,//全局配置 inject:Any,//自定义注入的参数 args:Array,//原始回调参数 }
事件注入也可以通过全局配置项injectEvent:true开启,对所以事件和原生事件开启事件注入
injectEvent:true
← 事件监听 加载异步数据 →