搜索

首页  >  问答  >  正文

javascript - vue 拼接出来的组件有什么办法可以让组件生效嘛

项目中用到element-ui, 比如说我要动态生成N个组件。
<template>

<p class="search" ref="search" v-html="sHtml">

</p>

</template>

<script type="text/javascript">

export default {
    data() {
        return {
            sHtml: '',
        }
    },
    props: {
        con: {
            type: Array
        }
    },
    created() {
        this.con.map((v, i) => {
            this.sHtml += '<el-'+ v.type +' class="'+ v.style +'" placeholder="'+ v.placeholder +'" v-model="'+ v.name +'"></el-' + v.type +'>';
        });
    },
}

</script>

有什么办法可以让element插件渲染出在页面中呢?

阿神阿神2735 天前770

全部回复(5)我来回复

  • 仅有的幸福

    仅有的幸福2017-06-26 10:56:13

    直接在引用组件的地方v-for不行么。。

    回复
    0
  • 黄舟

    黄舟2017-06-26 10:56:13

    直接一点不行吗,比如

        
     
     <p class="search" ref="search">
         <el-input  v-model="keyFrom.id" size="small" placeholder="请输入内容"></el-input>
     </p>

    回复
    0
  • 世界只因有你

    世界只因有你2017-06-26 10:56:13

    现在不支持编译html了,1.0的时候可以

    回复
    0
  • 習慣沉默

    習慣沉默2017-06-26 10:56:13

    直接使用v-for,通过数据【array】渲染组件

    回复
    0
  • PHP中文网

    PHP中文网2017-06-26 10:56:13

    可以参考:https://cn.vuejs.org/v2/guide...动态组件

    <component v-for="item in con" :is="item.name"></component>

    回复
    0
  • 取消回复