vxe-table使用遇到的问题
项目中用到了vxe-table,昨天在用的时候遇到了一些问题,这里总结一下。prop和label弃用项目中有这样一段代码:<vxe-tableref="xTable"border:data="tableData"@toggle-row-expand="toggleExpandChangeEvent"><vxe-table-column prop="name" label="姓名"
项目中用到了vxe-table,昨天在用的时候遇到了一些问题,这里总结一下。
prop和label弃用
项目中有这样一段代码:
<vxe-table
ref="xTable"
border
:data="tableData"
@toggle-row-expand="toggleExpandChangeEvent">
<vxe-table-column prop="name" label="姓名"></vxe-table-column>
<vxe-table-column prop="sex" label="性别"></vxe-table-column>
<vxe-table-column prop="age" label="年龄"></vxe-table-column>
</vxe-table>
结果运行的时候控制台出现警告,说prop
和label
已经弃用,应该使用field
和title
。看了下文档,原来文档不是最新的,导致还是一些旧的属性。更换属性名之后再次运行就正常了。
<vxe-table
ref="xTable"
border
:data="tableData"
@toggle-row-expand="toggleExpandChangeEvent">
<vxe-table-column field="name" title="姓名"></vxe-table-column>
<vxe-table-column field="sex" title="性别"></vxe-table-column>
<vxe-table-column field="age" title="年龄"></vxe-table-column>
</vxe-table>
这里说明一下,Element UI中的el-table组件用的字段还是prop
和label
。
展开行插槽和普通行插槽
项目中还有一段代码:
<vxe-table
ref="xTable"
border
:data="tableData"
@toggle-row-expand="toggleExpandChangeEvent">
<vxe-table-column type="expand" width="60">
<template v-slot="{ row }">
<div v-for="(item, index) in row.paths" :key="index">
<div>{{ item.action }}</div>
<div>{{ item.path }}</div>
</div>
</template>
</vxe-table-column>
<vxe-table-column title="姓名">
<template v-slot="{ row }">
<span>{{ row.name }}</span>
</template>
</vxe-table-column>
</vxe-table>
上面的代码运行出现警告,提示展开行的插槽应该是content
。我们可以看到,上面的表格共有两个字段,都用到了插槽,第一个字段的type="expand"
代表它是一个展开行,第二个则是普通行。看了下还是文档太老的原因,把展开行插槽v-slot
改为v-slot:content
就正常了。
<vxe-table
ref="xTable"
border
:data="tableData"
@toggle-row-expand="toggleExpandChangeEvent">
<vxe-table-column type="expand" width="60">
<template v-slot:content="{ row }">
<div v-for="(item, index) in row.paths" :key="index">
<div>{{ item.action }}</div>
<div>{{ item.path }}</div>
</div>
</template>
</vxe-table-column>
<vxe-table-column title="姓名">
<template v-slot="{ row }">
<span>{{ row.name }}</span>
</template>
</vxe-table-column>
</vxe-table>
这里再说一下插槽的应用场景,vxe-table字段默认使用field
字段传参,但是这样功能太少,如果希望调整字段样式,或者插入自定义的图标等内容,就要使用插槽。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)