【element-ui】vue element 表格根据后台返回的数据来决定展示数据还是可操作的按钮
不是简单的数据过滤(formatter),而是在同一列上既展示按钮又展示数据,如图:
就像这样,在最后一列,既可以展示数据,也可以展示一个按钮,还可以展示2个按钮,并且按钮是可操作的。
公司之前用的是bootstrapTable(这插件真的强大无比,没有不能做的东西),近期我主张的把公司的框架换成了vue,自然而然的用到了element-ui,一切顺利,结果卡在这里。。。请各位路过的大神帮忙解决一下
回答:
简单的通过element 自定义列模板 就可以实现你想要的效果
完整的table demo 可以参照 https://github.com/PanJiaChen...
回答:
这个其实也就是一个v-if就能搞定的事情,很简单的!看下面的代码吧,我在代码打上注释,看了就会了!
<el-table-column label="角色"min-width="100"> <template scope="scope">
<!--假设类型的字段是type-->
<!--如果当前行type字段等于0,就显示超级管理员,等于2就显示管理员,以此类推-->
<span v-if='scope.row.type===0'>超级管理员</span>
<span v-if='scope.row.type===1'>管理员</span>
<span v-if='scope.row.type===2'>会员</span>
<span v-if='scope.row.type===3'>普通用户</span>
</template>
</el-table-column>
<el-table-column label="操作" min-width="200">
<template scope="scope">
<!--v-if判断,根据当前行的角色类型,显示按钮-->
<!--如果角色是超级管理员,就显示删除按钮-->
<el-button type="primary" size="small"
@click="deleteDo(scope.row)" v-if="scope.row.type===0">删除
</el-button>
<!--如果角色是管理员或者超级管理员,就显示编辑按钮-->
<el-button type="primary" size="small"
@click="editDo(scope.row)" v-if="scope.row.type===0||scope.row.type===1">编辑
</el-button>
<!--如果角色是普通用户,就显示文字-->
<p v-if="scope.row.type===3">您是普通用户</p>
</template>
</el-table-column>
回答:
使用if else去判断显示
回答:
我的思路是通过v-if,v-else加在要显示的按钮上,根据接口返回的数据做一个定义一个判断方法,然后根据定义的方法进行渲染数据。
以上是 【element-ui】vue element 表格根据后台返回的数据来决定展示数据还是可操作的按钮 的全部内容, 来源链接: utcz.com/a/151524.html