使用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 相关文章推荐
Exjs 入门篇
Apr 07 Javascript
JQuery 选择器、过滤器介绍
Feb 14 Javascript
JavaScript实现身份证验证代码
Feb 17 Javascript
浅谈js在html中的加载执行顺序,多个jquery ready执行顺序
Nov 26 Javascript
angular forEach方法遍历源码解读
Jan 25 Javascript
js遍历json对象所有key及根据动态key获取值的方法(必看)
Mar 09 Javascript
关于vue.js组件数据流的问题
Jul 26 Javascript
详解html-webpack-plugin用法全解
Jan 22 Javascript
微信小程序实现收藏与取消收藏切换图片功能
Aug 03 Javascript
在小程序中推送模板消息的实现方法
Jul 22 Javascript
基于JavaScript实现简单抽奖功能代码实例
Oct 20 Javascript
通过实例解析js可枚举属性与不可枚举属性
Dec 02 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
C# Assembly类访问程序集信息
2009/06/13 PHP
Php中使用Select 查询语句的实例
2014/02/19 PHP
PHP函数extension_loaded()用法实例
2015/01/19 PHP
PHP输出一个等腰三角形的方法
2015/05/12 PHP
PHP获取音频文件的相关信息
2015/06/22 PHP
PHP编程之设置apache虚拟目录
2016/07/08 PHP
PHP简单数据库操作类实例【支持增删改查及链式操作】
2016/10/10 PHP
JavaScript中使用构造函数实现继承的代码
2010/08/12 Javascript
js操作模态窗口及父子窗口间相互传值示例
2014/06/09 Javascript
JavaScript模块规范之AMD规范和CMD规范
2015/10/27 Javascript
Vue服务端渲染和Vue浏览器端渲染的性能对比(实例PK )
2017/03/31 Javascript
vuejs实现本地数据的筛选分页功能思路详解
2017/11/15 Javascript
React Native 使用Fetch发送网络请求的示例代码
2017/12/02 Javascript
nodejs中方法和模块用法示例
2018/12/24 NodeJs
详细介绍解决vue和jsp结合的方法
2020/02/06 Javascript
javascript使用Blob对象实现的下载文件操作示例
2020/04/18 Javascript
用Python编写生成树状结构的文件目录的脚本的教程
2015/05/04 Python
Python的socket模块源码中的一些实现要点分析
2016/06/06 Python
python利用rsa库做公钥解密的方法教程
2017/12/10 Python
Linux下python制作名片示例
2018/07/20 Python
pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例
2018/08/02 Python
python如何发布自已pip项目的方法步骤
2018/10/09 Python
基于python 微信小程序之获取已存在模板消息列表
2019/08/05 Python
如何利用python给图片添加半透明水印
2019/09/06 Python
Django 简单实现分页与搜索功能的示例代码
2019/11/07 Python
Python小白垃圾回收机制入门
2020/06/09 Python
PyInstaller运行原理及常用操作详解
2020/06/13 Python
C语言怎样定义和声明全局变量和函数最好
2013/11/26 面试题
int *p=NULL和*p= NULL有什么区别
2014/10/23 面试题
大学四年学习的自我评价分享
2013/12/09 职场文书
《长相思》听课反思
2014/04/10 职场文书
小学生五年级大队长竞选发言稿
2014/09/12 职场文书
警察群众路线整改措施
2014/09/26 职场文书
金正昆讲礼仪观后感
2015/06/11 职场文书
创业计划书之网吧
2019/10/10 职场文书
Redis 常见使用场景
2021/08/30 Redis