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 相关文章推荐
js小技巧--自动隐藏红叉叉
Aug 13 Javascript
基于jquery的仿百度的鼠标移入图片抖动效果
Sep 17 Javascript
js获取字符串字节数方法小结
Jun 09 Javascript
常用Javascript函数与原型功能收藏(必看篇)
Oct 09 Javascript
javascript 中的try catch应用总结
Apr 01 Javascript
Vue实现动态显示textarea剩余字数
May 22 Javascript
JavaScript实现精美个性导航栏筋斗云效果
Oct 29 Javascript
Vue 实现树形视图数据功能
May 07 Javascript
JS常见DOM节点操作示例【创建 ,插入,删除,复制,查找】
May 14 Javascript
JavaScript高级函数应用之分时函数实例分析
Aug 03 Javascript
Vue2.x通用条件搜索组件的封装及应用详解
May 28 Javascript
JS前端知识点总结之内置对象,日期对象和定时器相关操作
Jul 05 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
用IE远程创建Mysql数据库的简易程序
2006/10/09 PHP
php基于Snoopy解析网页html的方法
2015/07/09 PHP
mapper--图片热点区域高亮组件官方站点
2007/12/22 Javascript
js 数组的for循环到底应该怎么写?
2010/05/31 Javascript
JS 跳转页面延迟2种方法
2013/03/29 Javascript
Javascript Web Slider 焦点图示例源码
2013/10/10 Javascript
bootstrap table表格使用方法详解
2017/04/26 Javascript
vue实现动态数据绑定
2017/04/28 Javascript
H5+C3+JS实现双人对战五子棋游戏(UI篇)
2020/05/28 Javascript
express 项目分层实践详解
2018/12/10 Javascript
使用vue2.6实现抖音【时间轮盘】屏保效果附源码
2019/04/24 Javascript
浅谈Vue.js之初始化el以及数据的绑定说明
2019/11/14 Javascript
[38:39]完美世界DOTA2联赛循环赛 IO vs GXR BO2第二场 11.04
2020/11/05 DOTA
Python 转义字符详细介绍
2017/03/21 Python
python+openCV利用摄像头实现人员活动检测
2019/06/22 Python
Python实现井字棋小游戏
2020/03/09 Python
Ariat官网:美国马靴和服装品牌
2019/12/16 全球购物
建筑工程技术应届生自荐信
2013/09/27 职场文书
招商经理岗位职责
2013/11/16 职场文书
自我评价优秀范文分享
2013/11/30 职场文书
个人自我评价范文
2014/02/05 职场文书
代理协议书范本
2014/04/22 职场文书
5s推行计划书
2014/05/06 职场文书
企业文化演讲稿
2014/05/20 职场文书
设备售后服务承诺书
2014/05/30 职场文书
机关党员四风问题个人整改措施
2014/10/26 职场文书
美丽的大脚观后感
2015/06/03 职场文书
军事博物馆观后感
2015/06/05 职场文书
运动会加油稿30字
2015/07/21 职场文书
辞职信怎么写?
2019/05/21 职场文书
入党转正申请自我鉴定
2019/06/25 职场文书
导游词之蜀山胜景瓦屋山
2019/11/29 职场文书
简单总结SpringMVC拦截器的使用方法
2021/06/28 Java/Android
仅仅使用 HTML/CSS 实现各类进度条的方式汇总
2021/11/11 HTML / CSS
一条慢SQL语句引发的改造之路
2022/03/16 MySQL
Nginx 常用配置
2022/05/15 Servers