React-Antd 登录 记住密码

记住密码的实现原理是通过将输入的账号密码存储在cookie中,下一次登录的时候直接获取cookie中的账号密码,将其填充到表单中。可以设置为定期存储,这样到了规定时间便从cookie中清除。

好了,知道大概思路了,下面我们来实现。

首先封装几个方法,分别是存储cookie、获取cookie清除cookie

//存储cookie
export const setCookie = (name, value, expiryDate) => {   //expiryDate是限期
    let currentDate = new Date()
    currentDate.setDate(currentDate.getDate() + expiryDate)
    document.cookie = name+"="+value+"; expiryDate=" + currentDate
}


//获取cookie
export const getCookie = (name, value, expiryDate) => {
    let arr = document.cookie.split("; ")
    for(let i=0; i<arr.length; i++){
        let arr1 = arr[i].split("=")
        if(arr1[0] == name){
            return arr1[1]
        }
    }
    return ''
}


// 清除cookie
export const removeCookie=(name)=>{
    getCookie(name,1,-1)
}

接下来是对方法的调用,因为我是类组件,需要创建实例并使用ref绑定表单,从而获取表单数据,具体戳antd 通过ref在类组件中获取表单

    // 点击记住密码后将账号、密码存储至cookie
    this.rememberPassword = () => {
      if (this.state.isRemember) {     //isRemember是“记住密码”是否选中的状态
        setCookie(
          "username",
          this.formRef.current.getFieldValue("username"),  //获取表单的账号,这是在类组件中获取表单的写法,formRef是我创建的实例
          1
        );
        setCookie(
          "password",
          this.formRef.current.getFieldValue("password"),  //获取表单的密码
          1
        );
      } else {
        removeCookie("username");
        removeCookie("password");
      }
    };
 // 下一次登录将cookie填充表单
    this.remember = () => {
      if (getCookie("username") != "" && getCookie("password") != "") {
        if (this.formRef?.current?.setFieldsValue) {
          this.formRef.current.setFieldsValue({    //注意是setFieldsValue,不是setFieldValue!!!本人踩雷了T^T
            username: getCookie("username"),
            password: getCookie("password"),
          });
        }
      }
    };
  }

即可实现记住密码功能~~~~~~~

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
react-antd-treetable是一个基于React和Ant Design框架开发的树形表格组件。该组件提供了一个功能强大且易用的界面,用于展示具有树形结构的数据。 react-antd-treetable组件主要特点如下: 1. 树形结构:组件支持展示具有树形结构的数据,每个节点可以包含子节点,形成层叠的树状布局。 2. 数据排序:可通过点击表头进行排序操作,对树形表格中的数据进行升序或降序排序。 3. 行选择:可以通过点击表格的行来选择或取消选择特定的行数据。同时,也支持通过选择父节点实现对整个子节点的选中或取消选中。 4. 编辑功能:支持在表格中对特定单元格的数据进行编辑,提供了输入框等组件供用户进行修改。 5. 展开/收起:可以通过点击加号和减号来展开或收起树形表格中的子节点,以便更清晰地查看和管理数据。 6. 异步加载:支持异步加载数据,可以根据需要动态加载子节点数据,提高了性能和效率。 7. 数据过滤:组件提供了一个搜索框,可以根据用户输入的关键字来过滤和筛选需要展示的数据,方便用户快速找到所需数据。 总的来说,react-antd-treetable是一个功能丰富且易于使用的树形表格组件,适用于需要展示树形数据结构的项目。无论是对于数据展示、编辑、排序、选择还是过滤等功能,该组件都提供了完善的解决方案,方便开发者快速构建出符合需求的树形表格界面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值