zoukankan      html  css  js  c++  java
  • react+umi+dva

    1.后台管理列表页,点击新增和编辑的时候都会跳转到另一个页面(下面我把它称为A页面)。

    新需求是:在A页面,加一个暂存功能,所有表单里的每一项都是非必填,随时可以暂存。但是点击确认保存的时候表单里所有项都需要校验必填。

    问:怎么样才能保证暂存时不校验表单项而确认保存时校验呢?

    思路:拿一个参数(类型为布尔型)来判断,在点击暂存或者确定时通过这个值来判断是否校验表单。

    2.角色管理的权限分配问题:一级菜单下面有多个二级菜单,分配一部分二级菜单给这个角色,这些二级菜单的父级菜单保持半选中状态。

    1)点击确定时传给后台的值如果只传这些选中的二级菜单id,不传被半选中的父级菜单id的话,那么这个角色会失去所有权限。因为二级菜单是通过一级菜单循环出来的,没有传父级菜单id,那么二级菜单的id也会没有。

    2)如果把选中的二级菜单id和半选中的父级菜单id都传给后台的话,菜单就有了。不过出现一个新的问题,编辑时,会发现之前未选中的二级菜单也被选中了。这是因为设置默认选中的时候,直接用的后台返回回来的id数组,其中包括了这些二级菜单的父级菜单id。


    解决方案是:循环遍历最深一层的子节点id,存放进一个数组中,接着,与后台返回的数组对比,有相同的值,就把相同的值取出来push到一个新数组中,最后,将新数组作为权限树的默认选中值。
    不过需要注意的是,如果不再重新分配权限的话,点击确定的时候,可能就会出现问题1),因为新数组里已经没有半选中的父级id了。

    所以,需要判断是否已经重新分配权限(建一个新的空数组,把新分配的id放进数组,如果这个数组长度为0,则代表未重新分配权限)。

    如果已经重新分配权限,那么就将最新的权限id传给后台,如果未重新分配权限,那么就将后台返回过来的id数组传回给后台。

    3.使用antd的Upload组件时,发现多了一个绿色的小图标,找了很久也没有找到这个小图标的DOM,删也删不了。后来一个一个排查,发现是在封装Upload组件的时候,封装在了Form,由于Form的hasFeedBack属性值为true引起的。去掉这个属性,或者将这个属性值设为false即可。

    4.与后端对接登录成功,但是不跳转到主页。在这个文件中,修改判断登录状态的条件。(后台需提供当前用户的接口,以及返回无登录权限的状态码401)

  • 相关阅读:
    位运算
    (二)给Centos配置网络以及使用xshell远程连接Centos
    (一)安装Linux时的磁盘划分
    (五)多点触控之兼容ViewPager
    (四)双击放大与缩小图片
    (三)多点触控之自由移动缩放后的图片
    (二)弥补图片自由缩放出现的间隙
    (一)自定义ImageView,初步实现多点触控、自由缩放
    (四)实现菜单点击弹出提示框
    (三)实现菜单点击动画
  • 原文地址:https://www.cnblogs.com/afafaa/p/14304357.html
Copyright © 2011-2022 走看看