使用antd时遇到的问题1

在使用antd Carousel组件时遇到自动轮播未启动和动态加载数据导致的展示不全问题。原因是轮播图数据在加载前后数量不一致。解决方案包括在state中添加加载完成标志,数据加载完后更新状态,确保数据加载完毕再渲染组件,以及通过设置div盒子的默认高度解决闪动问题。
摘要由CSDN通过智能技术生成

1.在使用antd的Carousel组件时,轮播图刚开始不会进行自动轮播,并且在从其他页面跳转到当前页面时,轮播图展示不完全的问题

原因:轮播图数据是动态加载的,加载完成前后轮播图数量不一致

解决方案:1.在state中添加表示轮播图加载完成的数据

2.在轮播图加载完成时,修改该数据状态值为true

3.只有轮播图数据加载完成的情况下,才渲染轮播图组件

4.闪动问题,是将轮播图放在一个div盒子里面进行展示,给这个盒子一个默认的类名,让其默认高度问盒子的高度,这样轮播图下面的数据就不会出现闪动的问题了

话不多说,直接上代码

export default class Index extends React.Component {
    state = {
        // 轮播图数据
        swipers: [],
        // 轮播图是否加载完成
        isSwiperLoad: false,

    }
    //   请求轮播图方法
    async getSwiperData() {
        const res = await axios.get("/home/swiper")
        // console.log(res)
        this.setState({
            swipers: res.body,
            isSwiperLoad: true
        })
    }
// 页面dom元素加载完成调用
    componentDidMount() {
        this.getSwiperData()
    }
    render() {
        return (
            <div className="index"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值