vue如何使用v-for和v-if来自定义组件封装element el-table,更好地实现列的自动渲染?

发布于 2022-09-13 00:37:59 字数 828 浏览 23 评论 0

要用封装element的el-table组件,实现根据json对象自动渲染列。有两个方式封装。如果只封装列的渲染,在el-table标签内部使用。类似以下格式

<el-table>
<!-- 我的组件 -->
<my-columns :columns="columns" >
<el-table>
Vue.component('my-columns', {
    // 声明 props
    props: ['columns'],
    template: `

    <el-table-column      v-for="(item,index) in columns" 
      
        
        :label="item.label+':'+index" 
        
        :sortable="item.sort" 
        :width="item.width"
        :prop="item.key"
        >
    </el-table-column    >
    `
})

以上代码不会显示表格内容,如果加上div,就可以显示表格内容,但这样的话,组件最外层包裹元素,如果用div,就会出现https://blog.csdn.net/shihezh...,所说的问题,不用div,那组件最外层包裹元素,最好那应该用什么呢?

vue对此有没有提供方法解决这方面的方式呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

逆流 2022-09-20 00:37:59

vue-fragment

平安喜乐 2022-09-20 00:37:59

不太明白为什么最外层还要一层div,至于el-table的配置属性,你可以去看一下$attrs,也许能解决你的问题

一花一树开 2022-09-20 00:37:59

当template有局限性时那就用render

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文