通过数组来遍历展示antd中的四个一组的走马灯

重点为第一次遍历4个分为一组,然后第一组中的四个根据index放入一个div,然后在第二层进行样式修改

    <Carousel afterChange={onChange}>
                    {trainList?.map((_, index) => {
                      if (index % 4 == 0) {
                        return (
                          <div>
                            <div className={styles.grid}>
                              {trainList
                                .slice(index, index + 4)
                                ?.map((item) => {
                                  return (
                                    <div
                                      key={index}
                                      onClick={() => {
                                        history.push(
                                          `/user/planCenterDetail/${item.id}`,
                                        );
                                      }}
                                      className={styles.taskBox}
                                    >
                                      <div
                                        style={{
                                          height: 170,
                                          borderRadius: '10px 10px 0 0',
                                          overflow: 'hidden',
                                        }}
                                      >
                                        {item.cover_obj?.[0]?.url ? (
                                          <img
                                            src={item.cover_obj?.[0]?.url}
                                            alt=""
                                            style={{
                                              borderRadius: '10px 10px 0 0',
                                              width: '100%',
                                              height: '100%',
                                            }}
                                          />
                                        ) : (
                                          <div
                                            style={{
                                              backgroundColor: '#f0edf2',
                                              width: '100%',
                                              height: '100%',
                                              borderRadius: 10,
                                            }}
                                          >
                                            <RobotOutlined
                                              style={{
                                                width: '100%',
                                                height: '100%',
                                                display: 'flex',
                                                justifyContent: 'center',
                                                alignItems: 'center',
                                              }}
                                            />
                                          </div>
                                        )}
                                      </div>
                                      <div style={{ padding: 15 }}>
                                        <div className={styles.innerTextBox}>
                                          {item.title}
                                        </div>
                                        <div style={{ margin: '10px 0' }}>
                                          <span>学分:{item.total_credit}</span>
                                        </div>
                                        <div style={{ paddingRight: 30 }}>
                                          <Progress
                                            percent={item?.progress * 100}
                                            format={(percent) =>
                                              `已学${percent}%`
                                            }
                                          />
                                        </div>
                                      </div>
                                    </div>
                                  );
                                })}
                            </div>
                          </div>
                        );
                      }
                    })}
                  </Carousel>
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值