vue如何使用v-for和v-if来自定义组件封装element el-table,更好地实现列的自动渲染?
要用封装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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
vue-fragment
不太明白为什么最外层还要一层div,至于
el-table
的配置属性,你可以去看一下$attrs
,也许能解决你的问题当template有局限性时那就用render