≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 网络编程 > vue.js

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

人气:756 时间:2019-04-16

这篇文章主要为大家详细介绍了使用form-create动态生成vue自定义组件和嵌套表单组件,具有一定的参考价值,可以用来参考一下。

感兴趣的小伙伴,下面一起跟随四海网的小编两巴掌来看看吧!

使用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;

示例

【图片暂缺】

代码如下:


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;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持四海网。

本文来自:http://www.q1010.com/184/7042-0.html

注:关于使用form-create动态生成vue自定义组件和嵌套表单组件的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:vue.js

您可能感兴趣的文章

  • vue项目中使用vue-i18n报错的解决方法
  • element-ui带输入建议的input框踩坑(输入建议空白以及会闪出上一次的输入建议问题)
  • 在vue使用clipboard.js进行一键复制文本的实现示例
  • vue 项目接口管理的实现
  • highCharts提示框中显示当前时间的方法
  • vue实现压缩图片预览并上传功能(promise封装)
  • 从vue源码看props的用法
  • vue-cli 目录结构详细讲解总结
  • vue权限管理系统的实现代码
  • 如何解决.vue文件url引用文件的问题
上一篇:Vue核心概念Action的总结
下一篇:highCharts提示框中显示当前时间的方法
热门文章
  • Vue 报错TypeError: this.$set is not a function 的解决方法
  • vue实现动态添加数据滚动条自动滚动到底部的示例代码
  • vue项目设置scrollTop不起作用(总结)
  • vue项目中使用vue-i18n报错的解决方法
  • iview实现select tree树形下拉框的示例代码
  • 分析关于element级联选择器数据回显问题
  • vue项目打包后打开页面空白解决办法
  • 解决element ui select下拉框不回显数据问题的解决
  • element-ui table span-method(行合并)的实现代码
  • element-ui 设置菜单栏展开的方法
  • 最新文章
    • 理解vue ssr原理并自己搭建简单的ssr框架
    • vue favicon设置以及动态修改favicon的方法
    • vue-router启用history模式下的开发及非根目录部署方法
    • 从零开始在NPM上发布一个Vue组件的方法步骤
    • Element input树型下拉框的实现代码
    • Vue 报错TypeError: this.$set is not a function 的解决方法
    • Vue.js组件高级特性实例分析
    • 浅谈VueJS SSR 后端绘制内存泄漏的相关解决经验
    • 分析Vue.js自定义tipOnce指令用法实例
    • 浅谈vuex actions和mutation的异曲同工

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。