当前位置: 首页 > news >正文

mvc 门户网站开发框架wordpress横向导航菜单主题

mvc 门户网站开发框架,wordpress横向导航菜单主题,wordpress同步知乎插件,太原建站模板搭建文章目录 前言一、遇到的交互场景el-tree 中 check-strictly 属性 二、处理父级的半选中以及选中交互el-treecheck#xff0c;check-change 事件编辑进来#xff0c;父级的半选状态处理 总结 前言 在开发后台管理系统的时候#xff0c;用户的权限控制是一个常见的需求。这里… 文章目录 前言一、遇到的交互场景el-tree 中 check-strictly 属性 二、处理父级的半选中以及选中交互el-treecheckcheck-change 事件编辑进来父级的半选状态处理 总结 前言 在开发后台管理系统的时候用户的权限控制是一个常见的需求。这里需要探讨下按钮的级别的权限控制以及实现中使用element-plus tree 组件的使用细节。 一、遇到的交互场景 基于原有的基础上实现按钮级别的权限控制原有的如下图每一个菜单都有一个唯一IDPID父级ID现在需要扩展的功能就是添加一个button按钮控制其中主要的细节交互 取消选中子级menu/button父级不关联取消选中/取消父级catalog/menu子级全部选中/取消选中/取消部分子级menu/button父级关联半选中状态indeterminatetrue 其中我用的是el-tree 组件我用button:xxx业务按钮这样的方式来命名后端也给了区分类型的字段typecatalog目录)menu菜单button按钮。 el-tree 中 check-strictly 属性 el-tree 中 check-strictly 属性为了实现取消选中子级menu/button父级不关联取消这里check-strictly设置为true设置后点击父级也不关联子级选中了用户用起来不方便这里就需要我们自己处理 二、处理父级的半选中以及选中交互 el-tree el-treereftreeRef:check-strictlytrue:datatreeDatashow-checkboxdefault-expand-allnode-keyidhighlight-current:default-checked-keysvariable.roleForm.featureIds:propsdefaultPropscheckhanleCheckcheck-changecheckChange/const defaultProps {children: children,label: function (treeData: any, treeNode: any) {return treeData?.name} }checkcheck-change 事件 这里主要用的事件 checkcheck-change const hanleCheck (data:any, node:any) {console.log(data, node);// 获取当前节点是否被选中const isChecked treeRef.value!.getNode(data).checked// 如果当前节点被选中则遍历下级子节点并选中如果当前节点取消选中则遍历下级节点并取消if (isChecked) {// 判断该节点是否有下级节点如果有那么遍历设置下级节点为选中data.children data.children.length 0 setChildreChecked(data.children, true)} else {// 如果节点取消选中则取消该节点下的子节点选中data.children data.children.length 0 setChildreChecked(data.children, false)}function setChildreChecked(node:any, isChecked:boolean) {node.forEach((item:any) {item.children item.children.length 0 setChildreChecked(item.children, isChecked)// // 修改勾选状态treeRef.value!.setChecked(item.id, isChecked,false)})} }const checkChange (data, checked, indeterminate) {// console.log(data, checked, indeterminate);// 选中全部子节点父节点也默认选中但是子节点再次取消勾选或者全部子节点取消勾选也不会影响父节点勾选状态let checkNode treeRef.value!.getNode(data)//获取当前节点// 勾选部分子节点父节点变为半选状态if (checkNode.parent checkNode.parent.childNodes.some(ele ele.checked)) {checkNode.parent.indeterminate true}// 勾选全部子节点父节点变为全选状态if (checkNode.parent checkNode.parent.childNodes.every(ele ele.checked)) {checkNode.parent.checked truecheckNode.parent.indeterminate false}// 如果取消所有第二节点的勾选状态则第一层父节点也取消勾选if (checkNode.level 2 checkNode.parent.childNodes.every(ele !ele.checked)) {checkNode.parent.checked falsecheckNode.parent.indeterminate false} } 其中上面用的 treeRef.value!.setChecked(item.id, isChecked,false)看文档说第三个属性是是否要递归我觉得是设置了true后应该帮我递归选中/取消关联的节点但没有生效所以还是自己递归下有大佬能指出是我的用法有问题吗劳烦指出 编辑进来父级的半选状态处理 上述方法实现后我们就可以实现上述交互了但这里要注意的一点就是点击编辑进入的父级的半选状态没有选中也就是说 checkNode.parent.indeterminate 这个没有被设置为true下面打个补丁。 const editRole async (row: any) {const { permissionIds} await detailApi({ id: row.id })await nextTick()setCheckedKeys(permissionIds) // 返回用户的权限id后根据id选中树节点permissionIds.forEach((id:any) {const nodeData treeRef.value!.getNode(id) // 根据权限id获取每个选中的树节点console.log(nodeData,nodeData)console.log(nodeData.parent?.id,nodeData.parent?.id)// 反显上面setCheckedKeys后如果父级没有选中则把半选状态设置trueif(nodeData?.parent?.id ! 0 !nodeData?.parent?.checked){nodeData.parent.indeterminate true}}); }总结 后台管理系统常见的权限控制需求这里讲button实现交互细节处理 取消选中子级menu/button父级不关联取消选中/取消父级catalog/menu子级全部选中/取消选中/取消部分子级menu/button父级关联半选中状态indeterminatetrue 下篇再补上button 的根据权限控制显示用vue3 的指令实现谢谢关注
http://www.dnsts.com.cn/news/142514.html

相关文章:

  • 做网站要服务器和什么锦州网站优化
  • 企业网站推广的方法有网站执行速度
  • 服务器网站跳转怎么做做网站论文
  • 我想做京东网站淘宝怎么做教育培训类网站模板
  • 网站建设哪家g举例描述该如何布局网站关键词
  • 网站推广业务黄页电话号码本
  • 创意交易平台网图片网站该如何做seo优化
  • 资源网站很难做wordpress 默认分页
  • wordpress 怎么改中文企业网站seo公司
  • 长沙网站优化分析优化关键词首页排行榜
  • 有哪些做数据比较好的网站wordpress 演示站
  • 网页制作3个网页的网站图片建设校园网站公司
  • 有哪些中文域名网站.tv可以做门户网站不
  • 徐州制作手机网站网站推广用什么方法最好
  • 网络营销心得体会800字一个网站如何优化
  • 电影网站建设哪家便宜wordpress 群组插件
  • 宜宾网站建设宜宾西安网站制作厂家
  • 简要说明网站建设的基本流程抖音代运营服务商排名
  • 网站建设中 模板希爱力副作用太强了
  • 企业网站建设(信科网络)网站建设与管理题
  • 微网站界面设计基础遵义发布官网
  • 放射科网站建设网页设计与制作课程在工作中的应用
  • 建立网站的英文短语如何做好品牌网站建设
  • 公司网站建设后期维护广州的软件开发公司
  • 成都网站seo报价完成网站开发需要什么样技术
  • 深圳自适应网站制作小程序开发公司哪家好如何选择
  • 微站直播平台wordpress 左图右文
  • 行业做门户网站挣钱吗企业 做网站
  • 京东网站建设有哪些优点成品短视频软件源码
  • 网站做接口需要哪些津南房地产网站建设