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 相关文章推荐
jqPlot Option配置对象详解
Jul 25 Javascript
JavaScript CSS修改学习第一章 查找位置
Feb 19 Javascript
jQuery 联动日历实现代码
May 31 Javascript
常用的JavaScript验证正则表达式汇总
Nov 26 Javascript
JavaScript实现仿网易通行证表单验证
May 25 Javascript
Bootstrap3 多选和单选框(checkbox)
Dec 29 Javascript
JavaScript与JQUERY获取元素的宽、高和位置
Feb 26 Javascript
vue2 router 动态传参,多个参数的实例
Nov 10 Javascript
轻量级富文本编辑器wangEditor结合vue使用方法示例
Oct 10 Javascript
vue中el-upload上传图片到七牛的示例代码
Oct 19 Javascript
axios使用拦截器统一处理所有的http请求的方法
Nov 02 Javascript
p5.js绘制旋转的正方形
Oct 23 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 七大优势分析
2009/06/23 PHP
简单的PHP多图上传小程序代码
2011/07/17 PHP
PHP实现股票趋势图和柱形图
2015/02/07 PHP
使用php从身份证号中获取一系列线索(星座、生肖、生日等)
2016/05/11 PHP
thinkPHP自动验证、自动添加及表单错误问题分析
2016/10/17 PHP
PHP超级全局变量【$GLOBALS,$_SERVER,$_REQUEST等】用法实例分析
2019/12/11 PHP
PHPstorm启用自动换行的方法详解(IDE)
2020/09/17 PHP
一个刚完成的layout(拖动流畅,不受iframe影响)
2007/08/17 Javascript
JS编程小常识很有用
2012/11/26 Javascript
THREE.JS入门教程(2)着色器-上
2013/01/24 Javascript
jquery Tab效果和动态加载的简单实例
2013/12/11 Javascript
js实现表单Radio切换效果的方法
2015/08/17 Javascript
JS实现IE状态栏文字缩放效果代码
2015/10/24 Javascript
js事件驱动机制 浏览器兼容处理方法
2016/07/23 Javascript
javascript 操作cookies详解及实例
2017/02/22 Javascript
纯JS实现轮播图
2017/02/22 Javascript
使用JavaScriptCore实现OC和JS交互详解
2017/03/28 Javascript
jQuery手风琴的简单制作
2017/05/12 jQuery
javascript 缓冲运动框架的实现
2017/09/29 Javascript
Echart折线图手柄触发事件示例详解
2018/12/16 Javascript
基于aotu.js实现微信自动添加通讯录中的联系人功能
2020/05/28 Javascript
Vue项目利用axios请求接口下载excel
2020/11/17 Vue.js
Python随机生成一个6位的验证码代码分享
2015/03/24 Python
Python中operator模块的操作符使用示例总结
2016/06/28 Python
深入理解Python爬虫代理池服务
2018/02/28 Python
python基于物品协同过滤算法实现代码
2018/05/31 Python
python微信好友数据分析详解
2018/11/19 Python
详解Python装饰器
2019/03/25 Python
django Admin文档生成器使用详解
2019/07/22 Python
PyTorch实现AlexNet示例
2020/01/14 Python
Python 实现简单的客户端认证
2020/07/29 Python
关于Python3爬虫利器Appium的安装步骤
2020/07/29 Python
葡萄牙语专业个人求职信
2013/12/10 职场文书
行政撤诉申请书
2015/05/18 职场文书
青年人初次创业的“五不要”
2019/08/23 职场文书
导游词之秦始皇兵马俑博物馆
2019/09/29 职场文书