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

模具编程入门先学什么网站优化教程

模具编程入门先学什么,网站优化教程,3322做网站,课程网站建设的目的意义vue2antd——实现权限管理——js数据格式处理 效果图如下:1.需求说明2.如何展开所有子项及孙子项目——在弹窗之前就获取树形结构,然后直接将数据传到弹窗中3.template部分代码4.script的data部分5.权限tree数据处理——将row中的权限分配到具体的value参…

vue2+antd——实现权限管理——js数据格式处理

  • 效果图如下:
  • 1.需求说明
  • 2.如何展开所有子项及孙子项目——在弹窗之前就获取树形结构,然后直接将数据传到弹窗中
  • 3.`template`部分代码
  • 4.`script`的`data`部分
  • 5.权限tree数据处理——将row中的权限分配到具体的value参数中
  • 6.权限的保存——`handleSubmit`

最近在写后台管理系统,遇到一个问题是关于菜单/按钮权限的处理:

效果图如下:

在这里插入图片描述

1.需求说明

点击编辑API权限,弹窗如上图所示:
弹窗内容分左右两部分,左侧是大类,右侧是子类及孙子类,其中所有的项目都要展开显示。

2.如何展开所有子项及孙子项目——在弹窗之前就获取树形结构,然后直接将数据传到弹窗中

在弹窗之前就要调用接口获取数据:

1:`addPermission`就是弹窗的组件
2:getCrmPermissionTree 获取权限tree的接口
handleAPI(row){let permissionList = [];this.loading = true;getCrmPermissionTree().then((res) => {permissionList = res || [];this.$refs.addPermission.handleShow(row, permissionList);}).finally(() => {this.loading = false;});
}

3.template部分代码

<a-modaltitle="编辑API权限":visible.sync="visible"width="500px":maskClosable="true"@cancel="handleClose"@ok="handleSubmit"><div id="topId"></div><a-tabs tab-position="left"><a-tab-paneforceRenderv-for="(group, index) in permissionList":key="index + 1":tab="group.displayName"><a-treeref="permissionTree"v-model="group.value"checkablecheckStrictly:defaultExpandAll="true":treeData="group.permissions":replaceFields="replaceFields"@check="onCheck($event, group)"/></a-tab-pane></a-tabs></a-modal>

4.scriptdata部分

data(){return{visible: false,loadLoading: false,permissionList: [],checkedKeys: [],id: undefined,replaceFields: {value: 'permissionName',title: 'displayName',children: 'children',key: 'permissionName',},menuRoteIds: [],}
},
methods:{onCheck(obj, item) {item.value = obj.checked || [];this.$forceUpdate();},
}

5.权限tree数据处理——将row中的权限分配到具体的value参数中

handleShow(row, permissionList) {this.visible = true;this.id = row.id;this.permissionList = [...permissionList];this.menuRoteIds = [...row.permissionNames];this.permissionList.forEach((item) => {item.value = [];if (this.menuRoteIds.includes(item.id)) {item.value.push(item.id);}if (item.children && item.children.length > 0) {item = this.filterMenuList(item.children, item);}});this.$nextTick(() => {//这一步是为了弹窗打开的时候滚动到页面顶部,在页面顶部有个`topId`的dom元素document.getElementById('topId').scrollIntoView(true);});
},
filterMenuList(arr, item) {arr.forEach((child) => {this.expandedKeys.push(child.id);if (this.menuRoteIds.includes(child.id)) {item.value.push(child.id);}if (child.children && child.children.length > 0) {child = this.filterMenuList(child.children, item);}});return item;
},

6.权限的保存——handleSubmit

handleClose() {this.visible = false;
},
handleSubmit() {let arr = [];this.permissionList &&this.permissionList.forEach((item) => {arr = arr.concat(item.value);});let params = {permissionNames: arr || [],};this.loadLoading = true;putApiPermission(this.id, params).then(() => {this.$message.success('保存成功');this.$emit('ok');this.handleClose();}).finally(() => {this.loadLoading = false;});
},
http://www.ds6.com.cn/news/112346.html

相关文章:

  • 网站支付宝怎么做的网站建设及网站推广
  • 没有网站可以做淘宝客吗百度搜索推广产品
  • 系统网站自助建站微信营销推广软件
  • 关于网站建设的教材百度商家
  • 域名注册网站排行网络营销产品的特点
  • b2b电子商务网站对比灰色关键词快速排名
  • 长沙建长沙建网站公司蜘蛛seo超级外链工具
  • 云南做网站找谁宁波网站制作优化服务
  • 判断网站如何关闭2345网址导航
  • 建材网站设计统计网站访问量
  • 闻喜网站建设营销型网站建设优化建站
  • asp企业网站模版网页制作模板
  • 大型的营销型网站建设百度网址大全电脑版旧版本
  • 看设计案例的有哪些网站推广策略及推广方式
  • 昆山高端网站设计公司免费建站网站大全
  • 中央人民政府网电话seo网址大全
  • 做网站必须要有服务器吗seo推广服务哪家好
  • 手机做简单的网站网络营销活动方案
  • 网加商学院网站怎么做网站建设解决方案
  • 济南专门做网站的公司南京seo排名公司
  • 卢湾网站设计站长之家网站模板
  • 邢台提供网站建设公司报价百度推广运营工作是什么
  • 像芥末堆做内容的网站关键词优化怎么操作
  • 柳州网站建站费用成都百度百科
  • 开发一个app需要多少资金广东知名seo推广多少钱
  • 导航网站是怎么做的seo推广要多少钱
  • 网站开发业务ppt关键词规划师工具
  • 网站开发 页面功能布局网络推广的平台
  • 茶道网站开发背景重庆百度推广seo
  • 室内装修设计软件用哪个好seo新站如何快速排名