【element-ui】vue element 表格根据后台返回的数据来决定展示数据还是可操作的按钮

不是简单的数据过滤(formatter),而是在同一列上既展示按钮又展示数据,如图:

clipboard.png
就像这样,在最后一列,既可以展示数据,也可以展示一个按钮,还可以展示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

回到顶部