首页 > 其他分享 >FormCreate中在事件中获取api

FormCreate中在事件中获取api

时间:2024-05-21 12:51:38浏览次数:15  
标签:title alert 获取 api inject blur FormCreate change 事件

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等参数

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

标签:title,alert,获取,api,inject,blur,FormCreate,change,事件
From: https://www.cnblogs.com/xaboy/p/18203711

相关文章

  • 【Halcon】实现分离通道、创建矩形、获取灰度级、求最大最小均值、求大于某一灰度级的
    read_image(Image,'D:/image/123.jpg')rgb1_to_gray(Image,GrayImage)gen_rectangle1(Rectangle,100,100,200,200)rectangle1_domain(GrayImage,ImageReduced,100,100,200,200)crop_domain(ImageReduced,ImagePart)get_region_points(ImageP......
  • EDP .Net开发框架--WebApi
    平台下载地址:https://gitee.com/alwaysinsist/edp按分类管理EDP所提供的WebApi接口,以供其他应用调用。WebApi接口不仅可以进行访问控制管理,同时还提供了版本管理,同一WebApi接口支持多个不同版本以满足接口调用方的多版本支持。WebApi接口的数据是通过调用业务方法来获取的,而业......
  • 蟒蛇书(Python编程:从入门到实践)第17章使用API 17.1.4处理API响应报错Caused by ProxyEr
    书上提供的原始代码:importrequests#执行API调用并存储响应url='https://api.github.com/search/repositories?q=language:python&sort=stars'headers={'Accept':'application/vnd.github.v3+json'}r=requests.get(url,headers=headers)prin......
  • 随机二次元图片API第三弹
    Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解`随机二次元图片API第三弹日期:2020-3-10阿珏折腾代码浏览:3717次评论:27条本来我都把第二弹置顶上来了,没打算在发第三弹的,然后想着想着又憋......
  • 微信JSAPI支付
    Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解`微信JSAPI支付日期:2019-3-30阿珏折腾代码浏览:1883次评论:6条前段时间一直在做微信相关的业务,虽说不是什么新技术,但之前一直没有机会接触......
  • Liunx部署NetCore,接口获取mysql本地数据时报:The SSL connection could not be establ
    今天将 NETCore程序发布到一台新的服务器,程序中有https请求第三方的Api,但是报了如下的错误:TheSSLconnectioncouldnotbeestablished,seeinnerexception解决办法下面命令查询openssl的路径opensslversion-a然后将CentOS默认的opensslCA证书拷贝到OPENSSLD......
  • Clear Code for Minimal API
    我在写MinimalAPI的时候,发现不能最清晰的看到每个API,原因就是:WebAPI中不断增长逻辑处理过程于是我在想如何简化API至一行,在一点一点想办法中,发现了简化DotNETMinimalAPI的方式。特此记录下来这个思路给需要帮助的人。我的灵感来源于C#11功能-接口中的静态虚拟成员,通过静态......
  • THUWC PKUWC APIO 游记
    MyBlogsTHUSC前情提要:THUWC\(200+10\)参与奖。Day-1坐高铁啦啦啦。身份证落在出租车上,费了很大劲才找回来,感觉很不牛。晚上饥荒启动。Day1进考场前疯狂背诵dwt的sublime编译教程,进考场默写对了/kx/kx。T1唐题,一眼秒了。T2唐题,一眼秒了。T3想了一下,发现状态......
  • 随机二次元图片API第二弹
    Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解`随机二次元图片API第二弹日期:2018-3-4阿珏折腾代码浏览:17990次评论:33条时隔差2天三个月,距首个随机二次元图片API发布已有许久时间......
  • Fluent API 配置实体和数据库之间的映射关系
    1.配置主键protectedoverridevoidOnModelCreating(ModelBuildermodelBuilder){modelBuilder.Entity<Blog>().HasKey(b=>b.BlogId);//配置Blog实体的主键为BlogId} 2.配置属性和列protectedoverridevoidOnModelCreating(ModelBuildermodelBu......