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常用对象的方法和属性小结
Jan 24 Javascript
jQuery trigger()方法用法介绍
Jan 13 Javascript
Javascript6中字符串的四个新用法分享
Sep 11 Javascript
微信小程序中实现一对多发消息详解及实例代码
Feb 14 Javascript
JS实现的走迷宫小游戏完整实例
Jul 19 Javascript
移动端Ionic App 资讯上下循环滚动的实现代码(跑马灯效果)
Aug 29 Javascript
使用JS动态显示文本
Sep 09 Javascript
pace.js和NProgress.js两个加载进度插件的一点小总结
Jan 31 Javascript
一个小时快速搭建微信小程序的方法步骤
Apr 15 Javascript
Easyui 去除jquery-easui tab页div自带滚动条的方法
May 10 jQuery
javascript异步处理与Jquery deferred对象用法总结
Jun 04 jQuery
django简单的前后端分离的数据传输实例 axios
May 18 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基础学习之变量的使用
2011/06/09 PHP
解决PHP mysql_query执行超时(Fatal error: Maximum execution time …)
2013/07/03 PHP
Laravel框架控制器,视图及模型操作图文详解
2019/12/04 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
Prototype Function对象 学习
2009/07/12 Javascript
JavaScript格式化数字的函数代码
2010/11/30 Javascript
JS无限极树形菜单,json格式、数组格式通用示例
2013/07/30 Javascript
解决js数据包含加号+通过ajax传到后台时出现连接错误
2013/08/01 Javascript
onmouseover和onmouseout的一些问题思考
2013/08/14 Javascript
node.js学习总结之调式代码的方法
2014/06/25 Javascript
JS实现点击颜色块切换指定区域背景颜色的方法
2015/02/25 Javascript
jquery实现全选和全不选功能效果的实现代码【推荐】
2016/05/05 Javascript
Bootstrap+jfinal实现省市级联下拉菜单
2016/05/30 Javascript
jquery表单插件Autotab使用方法详解
2016/06/24 Javascript
微信小程序 页面跳转传参详解
2016/10/28 Javascript
Vue实现表格中对数据进行转换、处理的方法
2018/09/06 Javascript
微信小程序性能优化之checkSession的使用
2019/03/06 Javascript
Vue中的transition封装组件的实现方法
2019/08/13 Javascript
VueCli生产环境打包部署跨域失败的解决
2020/11/13 Javascript
python基于隐马尔可夫模型实现中文拼音输入
2016/04/01 Python
Python 爬虫学习笔记之正则表达式
2016/09/21 Python
python数字图像处理之骨架提取与分水岭算法
2018/04/27 Python
基于随机梯度下降的矩阵分解推荐算法(python)
2018/08/31 Python
python实现定时发送qq消息
2019/01/18 Python
python实现京东订单推送到测试环境,提供便利操作示例
2019/08/09 Python
使用python脚本自动生成K8S-YAML的方法示例
2020/07/12 Python
详解HTML5 Canvas绘制不规则图形时的非零环绕原则
2016/03/21 HTML / CSS
Java里面Pass by value和Pass by Reference是什么意思
2016/05/02 面试题
科室工作的个人自我评价
2013/10/30 职场文书
学生个人自我鉴定
2014/03/26 职场文书
机械工程学院大学生求职信
2014/05/25 职场文书
2014年教务处工作总结
2014/12/03 职场文书
消防安全主题班会
2015/08/12 职场文书
大队委员竞选稿
2015/11/20 职场文书
python正则表达式re.search()的基本使用教程
2021/05/21 Python
用React Native制作一个简单的游戏引擎
2021/05/27 Javascript