全部
常见问题
产品动态
精选推荐

vue中实现动态el-table点选和整列选中功能

管理 管理 编辑 删除

be796202307270927599917.png

上面是实现的动态排班最终效果图

实现思路:

1. 动态表格渲染:

在正式项目开发中table数据都是从接口获取,假设有以下数据colData为Table的表头(根据选中某个月份渲染),tableData为需展示的数据 需展示id(员工id),name(员工),counts(班次id)。表头接口返回是是年月日,接到数据后转化成周和天。用el-table是表头插槽渲染到表格,表格第一列的人员姓名可以直接渲染,重点是counts班次是渲染,没有点击前默认未0,点击单元格后填充班次数据,看一下这里的数据处理:

b4013202307270942158291.png

2. 表格单元格点击选中渲染班次事件:

使用el-table的cellClicClick方法它会有返回数据,根据返回数据锁定点击的是某个单元格

动态填充单元格改变颜色渲染班次:this.$set(this.tableData[row.$index].counts, [index], data.id == 0 ? 0 : data)

点击员工姓名选中整行: this.$set(this.tableData[row.$index].counts, index, data)

点击选中整列:  this.$set(item.counts, val, data.id === 0 ? 0 : data)

3.点击单元格,整行,整列后表格的选中颜色效果

使用el-table的cell-style方法,返回row(行数据),rowIndex(行下标),columnIndex(列下标),判断选中的单元格然后改变背景颜色

ee178202307270956197604.png


以上是整个动态排班管理的实现思路,还有很多细节自己可以根据自己项目的需求来调整。有问题欢迎来留言!





请登录后查看

怎么网名又被占用了 最后编辑于2023-07-27 10:01:34

快捷回复
回复
回复
回复({{post_count}}) {{!is_user ? '我的回复' :'全部回复'}}
排序 默认正序 回复倒序 点赞倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level }}

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推荐': '推荐'}}
{{item.is_suggest == 1? '取消推荐': '推荐'}}
沙发 板凳 地板 {{item.floor}}#
{{item.user_info.title || '暂无简介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
{{item.like_count}}
{{item.showReply ? '取消回复' : '回复'}}
删除
回复
回复

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
回复
回复
查看更多
9013
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

快速安全登录

使用微信扫码登录
{{item.label}} 加精
{{item.label}} {{item.label}} 板块推荐 常见问题 产品动态 精选推荐 首页头条 首页动态 首页推荐
取 消 确 定
回复
回复
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定

微信登录/注册

切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服

CRMEB咨询热线 咨询热线

400-8888-794

微信扫码咨询

CRMEB开源商城下载 源码下载 CRMEB帮助文档 帮助文档
返回顶部 返回顶部
CRMEB客服