vue动态配置模板 'component is'代码
更新时间:2019年07月04日 10:56:43 作者:mubail
这篇文章主要介绍了vue动态配置模板 'component is'代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
实现代码如下
<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' } ] } ];
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
vue-manage-system升级到vue3的开发总结分析
这篇文章主要为大家介绍了vue-manage-system升级到vue3的开发总结分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-09-09vite+ts vite.config.ts使用path报错问题及解决
这篇文章主要介绍了vite+ts vite.config.ts使用path报错问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-10-10详解Vue SSR( Vue2 + Koa2 + Webpack4)配置指南
这篇文章主要介绍了详解Vue SSR( Vue2 + Koa2 + Webpack4)配置指南,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-11-11
最新评论