【VUE项目实战】23、改造状态列的显示效果 您所在的位置:网站首页 vuex3 【VUE项目实战】23、改造状态列的显示效果

【VUE项目实战】23、改造状态列的显示效果

#【VUE项目实战】23、改造状态列的显示效果| 来源: 网络整理| 查看: 265

接上篇《​​22、获取用户列表数据并渲染​​》 上一篇我们绘制了用户列表样式,并获取用户列表数据进行展示。本篇我们来实现状态列的显示效果以及插槽形式定义操作列的渲染。

一、状态列的显示效果

我们看用户列表的效果图:

【VUE项目实战】23、改造状态列的显示效果_vue.js

可以看到状态列是有一个开关类型的图标,其中可用的状态是蓝色旋钮向右,不可用状态是灰色旋钮向左。我们根据获取到的用户的state状态,来实现这种状态显示效果。

 当前的状态列为“mg_state”:

该列的数据是一个Boolean类型的值,要么是true,要么是false:

【VUE项目实战】23、改造状态列的显示效果_el-switch_02

Boolean类型的值是没有办法在页面上直接渲染出来的,我们希望吧Boolean值渲染为上面的开关效果,如果mg_state值是true,开关是打开状态,如果是false,开关是关闭状态。

如何把Boolean值按需渲染成开关呢?此时我们用到的是作用域卡槽,我们将状态列的“el-table-column”标签中,添加“template”标签,并为其添加一个“slot-scope”属性,值为“scope”,此时改列渲染的值就会绑定在一个叫“scope”的对象上,其“row”属性就是改列绑定的数据:

{{scope.row}}

我们刷新页面看看row值是什么:

【VUE项目实战】23、改造状态列的显示效果_el-tooltip_03

注:关于插槽和作用域插槽(slot)的基础知识,请查看该博文:​​【深入理解vue中的slot与slot-scope】

 我们可以看到,利用作用域插槽绑定的对象,可以获取当前数据列的数据对象,我们就可以通过“scope.row.mg_state”获取到状态数据。

对于开关的样式,我们可以通过Element-UI为我们提供的“Switch开关”组件来实现:

【VUE项目实战】23、改造状态列的显示效果_el-tooltip_04

这里v-model我们就可以绑定mg_state字段,代码如下:

注:别忘记在element.js注册“Switch”组件。

效果:

【VUE项目实战】23、改造状态列的显示效果_el-tooltip_05

这样就显示了相应的state状态(两个都是true,后面我们修改一个数据为false就可以看到另一个状态)。

二、插槽形式定义列的渲染

我们下面使用插槽式定义操作列的效果:

【VUE项目实战】23、改造状态列的显示效果_el-tooltip_06

为什么使用自定义插槽?因为只有这一列存在数据,且存在id,我们的修改、删除操作都需要id,也就是要根据不同行的数据来进行不同id的操作,没有id就不显示修改、删除操作按钮。

我们找到操作列,写一个template插槽,并绑定scope(先指定个“{}”空对象,看看按钮效果,不然会报错),在其中设置三个按钮,type不一样,icon图标也不一样,大小都是“mini”最小状态:

效果:

【VUE项目实战】23、改造状态列的显示效果_elementui_07

可能一开始使用系统的用户并不知道按钮是干嘛的,我们需要让鼠标放在按钮上面会显示按钮的名称,此时需要使用“Tooltip文字提示”组件(这里使用上边显示的提示组件即可):

注:别忘记在element.js注册“Tooltip”组件。

效果:

【VUE项目实战】23、改造状态列的显示效果_elementui_08

可以看到当鼠标放在哪个按钮上,哪个按钮就显示提示文字。

以上就是状态列和操作列的显示效果开发。 下一篇我们来实现分页效果。

参考:黑马程序员Vue项目实战教学视频



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有