使用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 相关文章推荐
如何实现动态删除javascript函数
May 27 Javascript
js 判断脚本加载完毕的代码
Jul 13 Javascript
javascript中对Attr(dom中属性)的操作示例讲解
Dec 02 Javascript
js跨域访问示例(客户端/服务端)
May 19 Javascript
使用JavaScript刷新网页的方法
Jun 04 Javascript
js仿黑客帝国字母掉落效果代码分享
Nov 08 Javascript
详解AngularJS中$http缓存以及处理多个$http请求的方法
Feb 06 Javascript
jquery实现页面常用的返回顶部效果
Mar 04 Javascript
深入浅析JS的数组遍历方法(推荐)
Jun 15 Javascript
BootStrap iCheck插件全选与获取value值的解决方法
Aug 24 Javascript
JavaScript中setTimeout的那些事儿
Nov 14 Javascript
layui 数据表格+分页+搜索+checkbox+缓存选中项数据的方法
Sep 21 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使用exec shell命令注入的方法讲解
2013/11/12 PHP
php获取根域名方法汇总
2014/10/28 PHP
PHP实现支持加盐的图片加密解密
2016/09/09 PHP
一个网页标题title的闪动提示效果实现思路
2014/03/22 Javascript
jQuery 顶部导航跟随滚动条滚动固定浮动在顶部
2014/06/06 Javascript
Javascript前端UI框架Kit使用指南之Kitjs简介
2014/11/28 Javascript
深入理解node exports和module.exports区别
2016/06/01 Javascript
基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭)
2016/09/02 Javascript
Vue.js组件tree实现省市多级联动
2016/12/02 Javascript
js微信支付实现代码
2016/12/22 Javascript
javascript输出AscII码扩展集中的字符方法
2016/12/26 Javascript
在React中如何优雅的处理事件响应详解
2017/07/24 Javascript
jQuery实现的滑块滑动导航效果示例
2018/06/04 jQuery
element ui table(表格)实现点击一行展开功能
2018/12/04 Javascript
微信小程序性能优化之checkSession的使用
2019/03/06 Javascript
vue-froala-wysiwyg 富文本编辑器功能
2019/09/19 Javascript
vue addRoutes路由动态加载操作
2020/08/04 Javascript
jQuery中event.target和this的区别详解
2020/08/13 jQuery
[22:59]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[43:18]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
Django中的用户身份验证示例详解
2019/08/07 Python
python求平均数、方差、中位数的例子
2019/08/22 Python
用Python将Excel数据导入到SQL Server的例子
2019/08/24 Python
python使用matplotlib绘制雷达图
2019/10/18 Python
Python使用进程Process模块管理资源
2020/03/05 Python
解决numpy矩阵相减出现的负值自动转正值的问题
2020/06/03 Python
python让函数不返回结果的方法
2020/06/22 Python
使用Python绘制台风轨迹图的示例代码
2020/09/21 Python
全球酒店预订网站:Hotels.com
2016/08/10 全球购物
大门门卫岗位职责
2013/11/30 职场文书
优秀社区干部事迹材料
2014/02/03 职场文书
大学生秋游活动方案
2014/02/17 职场文书
政协调研汇报材料
2014/08/15 职场文书
基层党员对照检查材料
2014/08/25 职场文书
2016教师党员学习心得体会
2016/01/21 职场文书
好段摘抄大全(48句)
2019/08/08 职场文书