近期前端总结

antd Tree中的checkbox实现单选

只需要获取checkedKeys数组,只保留最后一位

  /**
   * Tree单选功能实现
   * @param checkedKeys
   */
  handleCheck = checkedKeys => {
    checkedKeys.checked.splice(0, checkedKeys.checked.length - 1);
    this.setState({
      selectedKey: checkedKeys.checked[0],
    });
  };

// 组件中
    <Tree
            checkable
            size="default"
            disabled={false}
            checkStrictly
            onCheck={this.handleCheck}
            defaultCheckedKeys={[selectedKey]}
            onExpand={this.onExpand}
            expandedKeys={expandedKeys}
            autoExpandParent={autoExpandParent}
          >
            {loop(treeData)}
          </Tree>

js递归实现

把数组r中元素填入dataList,如下图所示,dataList有10个元素

  dataList = []; 
r = [
        {
          id: 'department-nanjing-electricity-headquarters',
          name: '南京公司总部-用电',
          children: [
            {
              id: 'department-nanjing-electricity-industry',
              name: '产业部',
            },
            {
              id: 'department-nanjing-electricity-business',
              name: '商务部',
            },
            {
              id: 'department-nanjing-electricity-sales',
              name: '营销部',
            },
          ],
        },
        {
          id: 'department-nanjing-electricity-nanjing',
          name: '南京分公司',
          children: [
            {
              id: 'department-nanjing-electricity-distribution',
              name: '#1事业部',
            },
            {
              id: 'department-nanjing-electricity-money',
              name: '财务部',
            },
            {
              id: 'department-nanjing-electricity-engineer',
              name: '工程中心',
            },
          ],
        },
        {
          id: 'department-nanjing-electricity-administration',
          name: '行政中心',
        },
        {
          id: 'department-nanjing-electricity-employee',
          name: '人事中心',
        },
      ];
  generateDataList(r);
  generateDataList = data => {
    for (let i = 0; i < data.length; i += 1) {
      const node = data[i];
      const { key, title } = node;
      this.dataList.push({ key, title });
      if (node.children) {
        this.generateDataList(node.children);
      }
    }
  };

js获取当前年份和前一年字符串

 columns[1].title = new Date().getFullYear().toString();
 columns[2].title = (new Date().getFullYear() - 1).toString();
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值