React二级分类选择器

1. 结构

0(根品类)
	一级品类1
		二级品类1001
		二级品类1002
		二级品类1003
		二级品类1004
	一级品类2
		二级品类2001
		二级品类2002
		二级品类2003
		二级品类2004

2. 逻辑

(1) 页面一加载就去获取一级品类
(2) 当你没有选择一级品类的时候,二级品类不可见(隐藏)
(3) 当你选择了一级品类,就去立马获取和显示这个一级品类对应的所有二级品类

(4) 当你只选择了一级品类,那么商品就挂在一级品类,选择一级品类后要清空原来的二级品类,再去获取你新选择的一级品类下面所有的二级品类, 最后把结果暴露出去, 就是把选择的一级品类Id传给父组件

(5) 如果你选择了二级品类,那么商品就挂在二级品类,然后把结果暴露出去(二级categoryId覆盖一级categoryId,最终只会传出一个结果)

(6) 它最后给我们提供的就是一个分类的Id

(7) 在编辑的时候我们需要对它进行数据回填

  1. 因为它单独封装成组件, 所以数据的回填只能在这个组件内部进行回填, 不能在父组件
  2. 所以父组件需要通过props把需要回填的数据传给他
  3. 一般是当我们进入编辑页面的时候需要数据回填, 数据要父组件通过异步接口去拿
  4. 子组件想要拿到父组件异步获取的数据, 不能通过this.props, 需要在生命周期函数componentWillReceiveProps(nextProps)来获取, 数据在nextProps里面
  5. 这里也分: 接受的只有一级品类,还是一级品类+二级品类
  6. 如果有二级品类, 回填二级品类后还要去加载二级品类列表

3. 组件内部的状态

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值