vue动态配置模板 'component is'代码


Posted in Javascript onJuly 04, 2019

实现代码如下

<template>
 <div v-if='object.child'>
   <div v-for="(item,ix) in object.child" :key="ix">
    <component :is="item.xtype" v-if='item'
     :objectVlue="objectVlue"
     :object="item">
    </component>
   </div>
 </div>
</template>
<script>
export default {
 data() {
  return {
  };
 },
 props: {
  objectVlue:Object,
  object:Object,
 },
 created() {
  var itemType = require(`../units/unit-type.js`).default||{};//1.0
  this.object.child.forEach(item=>{
   if(item.fileName){
    item.objDefault = require(`@/scene/${this.$route.query.typeName}/config/${item.fileName}.js`);//2.0
   }   
  })

  this.object.child.forEach(item=>{//动态显示当前组件
   if(itemType[item.xtype])
   Vue.component(
    itemType[item.xtype].componentName,
    () => import(`@/components/info-collection/moudel/${itemType[item.xtype].fileName}`)
   )
  })
 }
};
</script>
//1.0=============unit-type.js所有模板配置文件 =======================
export default {
 tablePartMerge: {//表格合并模板xtype
   componentName: "tablePartMerge",//组件名称
   fileName: "table-partInfo-merge"//文件所在路径
 },
 tablePartInfo: {
   componentName: "tablePartInfo",
   fileName: "table-partInfo"
 },
 ueditorUnit: {
   componentName: "ueditorUnit",
   fileName: "unit-ueditor"
 },
 filesUnit: {
   componentName: "filesUnit",
   fileName: "unit-files"
 },
 approves: {  // 正文信息(审批记录)
   componentName: "approves",
   fileName: "approves-unit"
 },
 requiredDate:{ // 要求完成日期
  componentName: "requiredDate",
  fileName: "required-date"
 },
}
//2.0====== table-partInfo-merge.js =========
module.exports = {
 "columns":[{
  "id": "partNumber",
  "disabled": false,
  "name":"物料编码",
  "placeholder": "",
  "required": true,
  "selectDetail": [],
  "show": false,
  "span": 24,
  "width":"150",
  "xtype": "select"//组件内用的表格
 }]
}

//=============父级传过来的 object =======================
module.exports = [
  {
    title: '正文信息',
    name: '1',
    id:"",
    child:[
      {
        id:'partInfoData',//id
        show:'true',//是否显示
        fileName:'tablePartInfo',//文件路径名
        xtype:'tablePartMerge'//表格模块
      },
      {
        id:'mainAttachements',//文本编辑器
        show:'true',
        fileName:'',
        xtype:'filesUnit'
      },
      {
        id:'vivo_RequestCompletionTime',//时间选择模块
        show:'true',
        fileName:'',
        xtype:'requiredDate'
      },
      {
        id:'approves',
        show:'true',
        fileName:'approval',
        xtype:'approves'
      }
    ]
  }
];

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

Javascript 相关文章推荐
在JavaScript中使用timer示例
May 08 Javascript
jQuery中ajax的load()方法用法实例
Dec 26 Javascript
jQuery基于ajax实现星星评论代码
Aug 07 Javascript
jQuery树形下拉菜单特效代码分享
Aug 15 Javascript
浅谈JavaScript中的string拥有方法的原因
Aug 28 Javascript
node.js下LDAP查询实例分享
Sep 30 Javascript
JS排序之选择排序详解
Apr 08 Javascript
jQuery复合事件结合toggle()方法的用法示例
Jun 10 jQuery
基于jquery日历价格、库存等设置插件
Jul 05 jQuery
vue.js 实现点击按钮动态添加li的方法
Sep 07 Javascript
Bootstrap table 实现树形表格联动选中联动取消功能
Sep 30 Javascript
JS替换字符串中指定位置的字符(多种方法)
May 28 Javascript
react 移动端实现列表左滑删除的示例代码
Jul 04 #Javascript
jQuery删除/清空指定元素的所有子节点实例代码
Jul 04 #jQuery
小程序中canvas的drawImage方法参数使用详解
Jul 04 #Javascript
vue如何限制只能输入正负数及小数
Jul 04 #Javascript
Vue项目中ESlint规范示例代码
Jul 04 #Javascript
你或许不知道的一些npm实用技巧
Jul 04 #Javascript
中高级前端必须了解的JS中的内存管理(推荐)
Jul 04 #Javascript
You might like
php Smarty初体验二 获取配置信息
2011/08/08 PHP
浏览器预览PHP文件时顶部出现空白影响布局分析原因及解决办法
2013/01/11 PHP
Windows平台PHP+IECapt实现网页批量截图并创建缩略图功能详解
2019/08/02 PHP
说说JSON和JSONP 也许你会豁然开朗
2012/09/02 Javascript
Javascript中神奇的this
2016/01/20 Javascript
Zero Clipboard实现浏览器复制到剪贴板的方法(多个复制按钮)
2016/03/24 Javascript
轻松掌握JavaScript中的Math object数学对象
2016/05/26 Javascript
Angular.js 4.x中表单Template-Driven Forms详解
2017/04/25 Javascript
详谈js对url进行编码和解码(三种方式的区别)
2017/08/16 Javascript
jQuery实现的简单动态添加、删除表格功能示例
2017/09/21 jQuery
Node.js学习之查询字符串解析querystring详解
2017/09/28 Javascript
详解如何让Express支持async/await
2017/10/09 Javascript
vue.js的computed,filter,get,set的用法及区别详解
2018/03/08 Javascript
React 源码中的依赖注入方法
2018/11/07 Javascript
vue-cli单页面预渲染seo-prerender-spa-plugin操作
2020/08/10 Javascript
[02:58]献给西雅图的情书_高清
2014/05/29 DOTA
Python中几种操作字符串的方法的介绍
2015/04/09 Python
python实现隐马尔科夫模型HMM
2018/03/25 Python
python实现决策树、随机森林的简单原理
2018/03/26 Python
Empty test suite.(PyCharm程序运行错误的解决方法)
2018/11/30 Python
python f-string式格式化听语音流程讲解
2019/06/18 Python
世界上最好的帽子:Tilley
2016/11/27 全球购物
日本乐天德国站:Rakuten.de
2019/05/16 全球购物
美国名表在线商城:Ashford(支持中文)
2019/09/24 全球购物
师范大学音乐表演专业求职信
2013/10/23 职场文书
党员实事承诺书
2014/03/26 职场文书
竞争上岗演讲稿范文
2014/05/12 职场文书
计算机实训报告总结
2014/11/05 职场文书
介绍信如何写
2015/01/31 职场文书
2015年爱牙日活动总结
2015/02/05 职场文书
预防艾滋病宣传活动总结
2015/05/09 职场文书
2015年远程教育工作总结
2015/05/20 职场文书
2015年国培研修感言
2015/08/01 职场文书
演讲稿:​快乐,从不抱怨开始!
2019/04/02 职场文书
pytorch 实现在测试的时候启用dropout
2021/05/27 Python
python生成可执行exe控制Microsip自动填写号码并拨打功能
2021/06/21 Python