form-create中在事件中获取api

FormCreate 是一个可以通过 JSON 生成具有动态渲染、数据收集、验证和提交功能的表单生成组件。支持5个UI框架,并且支持生成任何 Vue 组件。内置20种常用表单组件和自定义组件,再复杂的表单都可以轻松搞定

FormCreate官网:https://www.form-create.com

帮助文档:https://pro.form-create.com/doc

体验地址:https://pro.form-create.com/view

数据结构

inject 参数的数据结构

type InjectArg = {
api: APi,//api
rule: Rule[],//生成规则
self: Rule,//当前生成规则
option: Object,//全局配置
inject: Any,//自定义注入的参数
args: any[],//原始回调参数
}

向事件中注入fApi和自定义数据的示例

<template>
<form-create :rule="rule" v-model:api="fApi" :option="options" @prefix1-change="change"/>
</template> <script>
export default {
data() {
return {
fApi: {},
options: {
onSubmit: (formData) => {
alert(JSON.stringify(formData))
},
wrap: {
labelCol: {
span: 4
}
}
},
rule: [
{
type: 'input',
field: 'inputField2',
title: 'change 事件',
emit: [{
name: 'change',
inject: ['自定义参数,数据类型不限']
}],
emitPrefix: 'prefix1', },
{
type: 'input',
field: 'inputField',
title: 'blur 事件',
inject: true,
on: {
blur: this.blur
}
},
]
} },
methods: {
change(inject) {
alert(`change: "${inject.self.value}", inject:"${inject.inject}"`)
},
blur(inject) {
alert(`blur: "${inject.self.title}"`)
}
}
}
</script>

全局开启

事件注入也可以通过表单配置项injectEvent:true开启,对所以事件和原生事件开启事件注入

<template>
<form-create :rule="rule" v-model:api="fApi" :option="options" @prefix1-change="change"/>
</template> <script>
export default {
data() {
return {
fApi: {},
options: {
onSubmit: (formData) => {
alert(JSON.stringify(formData))
},
wrap: {
labelCol: {
span: 4
}
},
//全局开启
injectEvent: true
},
rule: [
{
type: 'input',
field: 'inputField2',
title: 'change 事件',
emit: ['change'],
emitPrefix: 'prefix1', },
{
type: 'input',
field: 'inputField',
title: 'blur 事件',
on: {
blur: this.blur
}
},
]
} },
methods: {
change(inject) {
alert(`change: "${inject.self.value}", inject:"${inject.inject}"`)
},
blur(inject) {
alert(`blur: "${inject.self.title}"`)
}
}
}
</script>

事件注入功能可以向事件中注入fApi,rule等参数

开启事件注入后会给回调事件参数首位增加注入参数

FormCreate中在事件中获取api的更多相关文章

  1. flex中Button事件中的e.target

    关于flex中的Button事件中的e.target. 今天想在事件中调用模块中的对象通过e.target获取单击的这个Button对象,但是可能是使用var btn:Button = e.targe ...

  2. CKEDITOR 3.4.2中 按钮事件中 动态改变图标和title 获取按钮

    this.uiItems[0].className="cke_button_hui_position_type";this.uiItems[0].title="zhang ...

  3. Extjs中自定义事件

    //Ext中所谓的响应事件,响应的主要是组件中已经定义的事件(通过看api各组件的events可以找到)         //主要作用就是利用on调用各组件的事件处理函数,然后在函数中作用户想要的操作 ...

  4. GridView控件RowDataBound事件中获取列字段值的几种途径

    前台: <asp:TemplateField HeaderText="充值总额|账号余额"> <ItemTemplate> <asp:Label ID ...

  5. ng-change事件中如何获取$event和如何在子元素事件中阻止调用父级元素事件(阻止事件冒泡)

    闲聊: 今天小颖要实现一个当改变了select内容后弹出一个弹框,并且点击select父元素使得弹框消失,这就得用到阻止事件的冒泡了:$event.stopPropagation(),然而小颖发现,在 ...

  6. C# 有关控件、自定义类事件中的委托链的获取、移除操作

    直接来代码吧,这样干脆直接,也不耽误我午休了.一切尽在源码中. public class ControlEventTool { /// <summary> /// 移除控件的某类事件, 如 ...

  7. 在CTreeCtrl控件点击事件中获取点击的项

    网上搜了一下,有两种方法: 1.使用GetSelectedItem() HTREEITEM hItem = m_treeCtrl.GetSelectedItem(); CString strText ...

  8. 下拉框改变事件:获取下拉框中当前选择的文本 SelectionChanged事件

    /// <summary> /// 下拉框改变事件:获取下拉框中当前选择的文本 /// </summary> /// <param name="sender&q ...

  9. 在OnRowDataBound或OnItemDataBound事件中获取字段值

    不管是在GridView,DataList还是Repeater控件中,其中Repeater控件,没有DataKeyNames或是DataKeyField属性,想获取记录的主键值,只好用Label或是H ...

  10. 在Application_Error事件中获取当前的Action和Control

    ASP.NET MVC程序处理异常时,方法有很多,网上也有列举了6种,下面是使用全局处理在Global.asax文件的Application_Error事件中实现.既然是ASP.NET MVC,我需要 ...

随机推荐

  1. Qt编写可视化大屏电子看板系统19-横向柱状图

    一.前言 横向柱状图的绘制这玩意当初还着实花费了一些时间,因为从v1版本开始,默认XY坐标轴是没有交换位置的处理的,也只有垂直的柱状图,要想换成横向的柱状图必须是自己拿到数据重新绘制,数据值的设置一般 ...

  2. IM通讯协议专题学习(九):手把手教你如何在iOS上从零使用Protobuf

    本文作者:丁同舟,来自金蝶随手记技术团队. 1.引言 接上篇<金蝶随手记团队的Protobuf应用实践(原理篇)>,本文将以iOS端的Objective-C代码为例,图文并茂地向您菔救绾卧 ...

  3. IM通讯协议专题学习(四):从Base64到Protobuf,详解Protobuf的数据编码原理

    本文由腾讯PCG后台开发工程师的SG4YK分享,进行了修订和和少量改动. 1.引言 近日学习了 Protobuf 的编码实现技术原理,借此机会,正好总结一下并整理成文. 接上篇<由浅入深,从根上 ...

  4. 冷水机超频AMD 2600X 4.5G

    整个测试大概持续了一个半小时,期间水温保持在2度左右(±1摄氏度).后来开始冷凝,而且超频也到了4.5G瓶颈,所以停了下来. 全核4.4G过R154.5G过CPU-Z认证(点击查看)温度表现,一般吧. ...

  5. MYSQL-收集

    1.MySQL敏感数据进行加密的几种方法小结 AES_ENCRYPT和AES_DECRYPT函数 AES(Advanced Encryption Standard)是一种对称加密算法.在MySQL中, ...

  6. Linux性能优化-网络性能优化思路

    目录 确定优化目标 网络性能工具 网络性能优化 应用程序 套接字 传输层 网络层 链路层 确定优化目标优化前,首先要确定观察到的网络性能指标,要达到多少才合适?虽然网络性能优化的整体目标,是降低网络延 ...

  7. Drawable图形定制

    设置背景设置背景 button或者textview我们想要自定义他的背景就需要用到Drawable中创建xml文件 例如 shape标签是用来控制背景的形状的 他下面的子标签有 stroke控制描边 ...

  8. 从拼积木到最长连续序列:一道别出心裁的数组题目|LeetCode 128 最长连续序列

    LeetCode 128 最长连续序列 点此看全部题解 LeetCode必刷100题:一份来自面试官的算法地图(题解持续更新中) 生活中的算法 你小时候一定玩过数字积木吧?一堆写着不同数字的积木块散落 ...

  9. CPU的指令周期

    本文分享自天翼云开发者社区<CPU的指令周期>,作者:冯****怡 指令周期(Instruction Cycle) CPU中会有 存器.指令寄存器.控制器等多类单元.指令集,就是CPU中用 ...

  10. Q:oracle小于1的number,不显示小数点前的0?

    oracle存储number类型数字  如果数字小于1 如0.35就会存储.35  省略掉前面的数字0 方法1: oracle 数据库字段值为小于1的小数时,转换到char类型处理,会丢失小数点前面的 ...