使用form-create动态生成vue自定义组件和嵌套表单组件


Posted in Javascript onJanuary 18, 2019

使用form-create动态生成vue自定义组件和嵌套表单组件

[github]| [说明文档]

maker.create

通过建立一个虚拟 DOM的方式生成自定义组件

生成

Maker

let rule = [
 formCreate.maker.create('i-button').props({
  type:'primary',
  field:'btn'
  loading:true
 })
]
$f = formCreate.create(rule);

上面的代码是通过maker生成器动态生成一个正在加载的iview按钮组件

Json

let rule = [
 {
  type:'i-button',
  field:'btn'
  props:{
    type:'primary',
    field:'btn',
    loading:true
  }
 }
]
$f = formCreate.create(rule);

上面的代码是通过json方式动态生成一个iview按钮组件

修改

可以通过一下两种方式动态修改组件的配置项

通过rule修改组件生成规则

rule[0].props.loading = false;

通过$f.component()方法获取组件的生成规则并修改

$f.component().btn.props.loading = false;

示例

使用form-create动态生成vue自定义组件和嵌套表单组件

let rule = [
 {
  type:'row',
  children:[
   {
    type:'i-col',
    props:{
     span:12
    },
    children:[
     formCreate.maker.input('商品名称','goods_name','iphone'),
     formCreate.maker.number('商品加个','goods_price',8688)
    ]
   },
   {
    type:'i-col',
    props:{
     span:12
    },
    children:[
     formCreate.maker.dateTime('创建时间','create_at'),
     formCreate.maker.radio('是否显示','is_show').options([
      {value:1,label:'显示'},
      {value:0,label:'不显示'}
     ])
    ]
   }
  ]
 }
]

maker.template

通过模板的方式生成自定义组件,maker.createTmp方法是该方法的别名

生成

Maker

let rule = [
 formCreate.maker.template('<i-button :loading="loading">{{text}}<i-button>',new Vue({
  data:{
   loading:true,
   text:'正在加载中...'
  }
 }))
]

上面的代码是通过maker生成器动态生成一个正在加载的iview按钮组件

Json

let rule = [
 {
  type:'template',
  template:'<i-button :loading="loading">{{text}}<i-button>',
  vm:new Vue({
   data:{
    loading:true,
    text:'正在加载中'
   }
  })
 }
]
$f = formCreate.create(rule);

上面的代码是通过Json方式动态生成一个iview按钮组件

修改

可以通过一下两种方式动态修改vm组件内部的值

通过rule获取自定义组件的vm并修改

rule[0].vm.text = '加载完毕';
rule[0].vm.loading = false;

通过$f.component()方法获取自定义组件的vm并修改

$f.component().btn.vm.text = '加载完毕';
$f.component().btn.vm.loading = false;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
newxtree.js代码
Mar 13 Javascript
JavaScript 事件记录使用说明
Oct 20 Javascript
javascript实现在线客服效果
Jul 15 Javascript
JavaScript实现横向滑出的多级菜单效果
Oct 09 Javascript
基于原生JS实现图片裁剪
Aug 01 Javascript
为jQuery-easyui的tab组件添加右键菜单功能的简单实例
Oct 10 Javascript
使用grunt合并压缩js和css文件的方法
Mar 02 Javascript
angular实现IM聊天图片发送实例
May 08 Javascript
vue loadmore 组件滑动加载更多源码解析
Jul 19 Javascript
jQuery中元素选择器(element)简单用法示例
May 14 jQuery
实现vuex与组件data之间的数据同步更新方式
Nov 12 Javascript
微信小程序利用云函数获取手机号码
Dec 17 Javascript
jquery层次选择器的介绍
Jan 18 #jQuery
js实现图片放大并跟随鼠标移动特效
Jan 18 #Javascript
vue.js的双向数据绑定Object.defineProperty方法的神奇之处
Jan 18 #Javascript
jQuery无冲突模式详解
Jan 17 #jQuery
JQuery判断radio单选框是否选中并获取值的方法
Jan 17 #jQuery
React性能优化系列之减少props改变的实现方法
Jan 17 #Javascript
vue 项目接口管理的实现
Jan 17 #Javascript
You might like
用PHP实现WEB动态网页静态
2006/10/09 PHP
深入for,while,foreach遍历时间比较的详解
2013/06/08 PHP
php实现的错误处理封装类实例
2017/06/20 PHP
JQuery 无废话系列教程(二) jquery实战篇上
2009/06/23 Javascript
js 键盘记录实现(兼容FireFox和IE)
2010/02/07 Javascript
Ubuntu 11.10 安装Node.js的方法
2011/11/30 Javascript
在JavaScript中处理字符串之fontcolor()方法的使用
2015/06/08 Javascript
jquery实现带渐变淡入淡出并向右依次展开的多级菜单效果实例
2015/08/22 Javascript
javascript实现加载xml文件的方法
2015/11/24 Javascript
ajax级联菜单实现方法实例分析
2016/11/28 Javascript
实例详解JavaScript中setTimeout函数的执行顺序
2017/07/12 Javascript
Angular5中状态管理的实现
2018/09/03 Javascript
vue elementui el-form rules动态验证的实例代码详解
2019/05/23 Javascript
微信小程序new Date()方法失效问题解决方法
2019/07/29 Javascript
JavaScript函数IIFE使用详解
2019/10/21 Javascript
[00:34]DOTA2上海特级锦标赛 VG战队宣传片
2016/03/04 DOTA
[01:02:48]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 LGD vs OG
2018/04/02 DOTA
python 采用paramiko 远程执行命令及报错解决
2019/10/21 Python
Python小整数对象池和字符串intern实例解析
2020/03/21 Python
Python实现从N个数中找到最大的K个数
2020/04/02 Python
django 利用Q对象与F对象进行查询的实现
2020/05/15 Python
基于Python爬取fofa网页端数据过程解析
2020/07/13 Python
Pytorch之扩充tensor的操作
2021/03/04 Python
纯CSS3实现带动画效果导航菜单无需js
2013/09/27 HTML / CSS
HTML5重塑Web世界它将如何改变互联网
2012/12/17 HTML / CSS
Vilebrequin美国官方网上商店:法国豪华泳装品牌
2020/02/22 全球购物
马来西亚排名第一的宠物用品店:Pets Wonderland
2020/04/16 全球购物
枚举和一组预处理的#define有什么不同
2016/09/21 面试题
2014爱耳日宣传教育活动总结
2014/03/09 职场文书
校园文明标语
2014/06/13 职场文书
2015年班级元旦晚会活动总结
2014/11/28 职场文书
2014年煤矿工人工作总结
2014/12/08 职场文书
2015人事行政工作总结范文
2015/05/21 职场文书
2016党员发展对象培训心得体会
2016/01/08 职场文书
女性励志书籍推荐
2019/08/19 职场文书
创业计划书之花店
2019/09/20 职场文书