解决动态class展示问题
由于部分涉及到隐私,就打马赛克了

比如这个小问题,我有这个动态的class,里面是十几个类似btn的按钮,然后每个btn下面又有子多选框,一开始是我点击那个下面的子级他的父级就被选中,默认选中第一个父级btn的。
现在我需要展示那个下面有选中的多选框他的父级btn就被选中。
所以这句话的,前面的代码是点那个下面的子级他的父级就被选中,后面代码意思是子多选框如果存在选中的子级他父级btn就被选中,但是这样会出现一个问题他还是会默认选中第一个btn。
:class="[{active: item.open_kf_id == formState.staff_ids || selectedStaffIndex.includes(item.open_kf_id) }]"
解决办法就是给我们的state.formState.staff_ids默认设置成我们第一个存在的值,后期返现个问题在没有state.selectedStaffIndex[0]的时候什么都没有显示了,得加个判断
//设置默认为我们第一个有被选中的btn
if(state.selectedStaffIndex[0]){
state.formState.staff_ids = state.selectedStaffIndex[0]
}
下面是html代码
<div class="zm-staff-item zm-selected"
:class="[{active: item.open_kf_id == formState.staff_ids || selectedStaffIndex.includes(item.open_kf_id) }]"
v-for="(item,index) in staffs"
:key="index"
@click="changeStaff(item)"
style="margin: 8px 16px 8px 0">
<img class="zm-staff-avatar" :src="item.channel_logo"/>
<span class="zm-staff-name">{{ item.channel_name }}</span>
</div>
下面是逻辑代码
// //来显示btn下面是否有子级被选中
for(let k in selectedRowKeys.value){
let selectedStaffIds = selectedRowKeys.value[k].split(":")[0]
state.selectedStaffIndex.push(selectedStaffIds)
}
//设置默认为我们第一个有被选中的btn
state.formState.staff_ids = state.selectedStaffIndex[0]
为什么要遍历呢?
因为selectedRowKeys.value里面的值是这种形式的,我只需要前面的值即可。
Proxy {0: '1688858438367330:7881299760915111', 1: '1688857379337013:7881302848907550', 2: '1688857785347017:7881303547185489', 3: '1688857785347017:7881303527096379', 4: '1688857785347017:7881303349119228', 5: '1688857785347017:7881300212937189', 6: '1688857785347017:1688856975347519', 7: '1688857785347017:1688854059826920', 8: '1688857785347017:1688852014798866', 9: '1688858346379609:7881302170090986'}
[[Handler]]: Object
[[Target]]: Array(10)
0: "1688858438367330:7881299760915111"
1: "1688857379337013:7881302848907550"
2: "1688857785347017:7881303547185489"
3: "1688857785347017:7881303527096379"
4: "1688857785347017:7881303349119228"
5: "1688857785347017:7881300212937189"
6: "1688857785347017:1688856975347519"
7: "1688857785347017:1688854059826920"
8: "1688857785347017:1688852014798866"
9: "1688858346379609:7881302170090986"
length: 10
[[Prototype]]: Array(0)
[[IsRevoked]]: false
解决动态class展示问题的更多相关文章
- FineReport层式报表解决大数据集展示问题攻略
本文以填报报表为例,通过分页的方式,来解决大数据集展示的问题. 实现的思想就是通过在SQL里筛选部分数据库数据,以达到浏览器可以合理的展示报表页面.(数据分段,语句我这采用的是MYSQL,如果要用其他 ...
- ecshop 完美解决动态ip登录超时和购物车清空问题
ecshop 完美解决动态ip登录超时和购物车清空问题 ECSHOP模板/ecshop开发中心(www.68ecshop.com) / 2014-05-06 前一段时间,ECSHOP开发中心的一个客户 ...
- 《算法4》1.5 - Union-Find 算法解决动态连通性问题,Python实现
Union-Find 算法(中文称并查集算法)是解决动态连通性(Dynamic Conectivity)问题的一种算法,作者以此为实例,讲述了如何分析和改进算法,本节涉及三个算法实现,分别是Quick ...
- ExtJs 通过分析源代码解决动态加载Controller的问题
通过分析源代码解决动态加载Controller的问题 最近在研究ExtJs(4.2.0)的MVC开发模式,具体Extjs的MVC如何使用这里不解释,具体参见ExtJs的官方文档.这里要解决的问题是如何 ...
- scrapy-redis+selenium+webdriver解决动态代理ip和user-agent的问题(全网唯一完整代码解决方案)
问题描述:在爬取一些反爬机制做的比较好的网站时,经常会遇见一个问题就网站代码是通过js写的,这种就无法直接使用一般的爬虫工具爬取,这种情况一般有两种解决方案 第一种:把js代码转为html代码,然后再 ...
- NG-ZORRO + angular-cli11 表格横纵向单元格合并,按需设置背景色,解决动态合并单元格动态colspan情况下,nzLeft固定列失效问题,也适用VUE,REACT
NG-ZORRO + angular-cli11 实现表格横纵向单元格合并,按需设置背景色,并解决动态合并单元格动态colspan情况下,nzLeft固定列失效问题 HTML代码 <!-- 1. ...
- 如何使用DAX函数解决动态图表标题
您可能知道,Power BI中的图表(以及许多其他可视化)具有可以设置为任何静态文本的标题.您可以通过选择图表,转到“可视化对象”窗格中的“格式”选项卡,然后更改“标题”部分中的属性(如下所示)来完成 ...
- arcgis server 10.1 发布动态图层展示海量及频繁更新的数据步骤
Arcgis server 发布动态图层及调用动态图层 做这个动态图层功能的原由是 有一个30万的数据需要通过arcgis GP工具转成shp然后渲染加载进地图,原来的做法是遍历生成shp面要素,读 ...
- 2014-10-2 bug更新5 ecshop和ectouch解决动态ip登录超时和购物车清空问题
有客户说登陆网站后台操作的时候,会时不时的掉一下,要重新登陆才能继续操作,自动登出的频率快和时间短,针对这个问题是因为: 购物车问题原因的产生是因为动态IP的SESSEION机制导致很多在公司或者其他 ...
- 自拉ADSL网线搭建站点server,解决动态IP、无公网IP、80port被封、HTTP被屏蔽的方法
自己的server搭建站点应用,提供站点服务,能够不用备案,但可能会面对网络限制问题,如动态公网IP.无公网IP.80port被封.HTTP被屏蔽,这些复杂网络情况. 依据本地网络环境,能够针对不同的 ...
随机推荐
- VM虚拟机的创建和CentOS 7的安装
1.vm和CentOS的下载. 一:vm和CentOS的下载,这是创建虚拟机和CentOS安装的必要条件. 2.vm虚拟机的创建. 一:打开vm软件界面,会看到虚拟机的字,点击虚拟机开始创建虚拟机.二 ...
- uni-app学习笔记之----页面跳转
1.声明式跳转 <navigator url="/pages/detail/detail"> <button>跳转至详情页</button> & ...
- 17.SQLite数据库存储
Android系统内置一个SQLite数据库,SQLite是一款轻量级的关系型数据库,它的运算速度非常快,占用资源很少,通常只需要几百K的内存就足够了. SQLite不仅支持标准的SQL语法,还遵循了 ...
- VUE3 API之watch与watchEffect
watch(source,callback,options) 官方术语:侦听一个或多个响应式数据源,并在数据源变化时调用所给的回调函数. watchEffect(effect,options) 官方术 ...
- mariadb 集群 重启的几种情形
最近项目中遇到过一次mariadb集群中三台节点有两台挂掉的情况.总结了一下mariadb集群可能遇到的几种情况需要重启. 环境说明: mariadb集群ip: 10.0.101.51 10.0.10 ...
- wsl2 的安装与使用
wsl2 简介 wsl2 是 window 自家做的虚拟机,如果初次接触,可以建立的理解为 vmware.只不过他是 window 公司自己开发的,所以从兼容性上来讲,会更好一些. 我个人选择使用 w ...
- read the docs
1. 在 GitHub 新建一个repo 2. git clone git@github.com:readthedocs/tutorial-template.git 3. 把刚刚 clone 的 re ...
- MAYA专用卸载工具,完全彻底卸载删除干净maya各种残留注册表和文件的方法和步骤
maya专用卸载工具,完全彻底卸载删除干净maya各种残留注册表和文件的方法和步骤.如何卸载maya呢?有很多同学想把maya卸载后重新安装,但是发现maya安装到一半就失败了或者显示maya已安装或 ...
- 学习-Vue2-Vue实例-数据与方法-数据的响应式
当一个实例被创建时,它将data对象中的所有的property加入到Vue的响应式系统中. 当这些property的值发生改变时,视图将会产生"响应",即匹配更新为新的值.当这些数 ...
- Django Cannot assign "A1": "B1" must be a "C1" instance.
Django Cannot assign "A1": "B1" must be a "C1" instance. 原因:使用了外键 说明:如 ...