首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何减少react旋转木马上可见的产品数量?

如何减少react旋转木马上可见的产品数量?
EN

Stack Overflow用户
提问于 2021-08-15 11:05:08
回答 2查看 223关注 0票数 0

我用react创建了一个产品旋转木马,它有10个产品,但我只想在任何时候显示最多4个产品,我试图减少宽度,但这不起作用。我还查看了轮播的文档,但找不到此https://www.npmjs.com/package/pure-react-carousel#component-properties-props的解决方案

这是carousel https://github.com/RMP1992/react-product-carousel的git代码库。

react Carousel组件

代码语言:javascript
复制
import React from 'react';
import {data} from'../data/data';
import { CarouselProvider, Slider, Slide, ButtonBack, ButtonNext, Image } from 'pure-react-carousel';
import './Carousel.css';
import Card from './Card';
export default class extends React.Component {
    render() {
      return (
        <CarouselProvider
          naturalSlideWidth={100}
          naturalSlideHeight={125}
          currentSlide={4}
          totalSlides={10}
          visibleSlides={4}
          
 
        >
        <Slider>
        {data.map(item =>(
               item.carouselData.map(product => (
                   
                   <Slide >
                        <Image><img src={product.productImageUrl}/></Image>
                        <p>{product.name}</p>
                        <p>£{product.price.formattedValue}</p>
                   </Slide>
                   
               ))
               ))}
        </Slider>
        
        <ButtonBack>Back</ButtonBack>
        <ButtonNext>Next</ButtonNext>
        </CarouselProvider>
      );
    }
  }

CSS

代码语言:javascript
复制
    .image___xtQGH {
    display: block;
   
}
.carousel__slide {
    list-style-type: none;
    padding-bottom: unset !important;
    width: 306px !important;
    border: black solid 1px;
    margin: 0 10px !important;
}
.carousel__slider-tray {
    display: flex;
    flex-direction: row;
}

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-08-15 11:25:24

我看到你还没有导入他们的css。将此行添加到您的App组件中,并删除所有自定义css。我想一切都会很好的。

代码语言:javascript
复制
import "pure-react-carousel/dist/react-carousel.es.css";
票数 0
EN

Stack Overflow用户

发布于 2021-08-15 11:19:23

您可以使用Array#filter方法从数组中获取第一个n元素。

代码语言:javascript
复制
{data.filter((item, index) => index < 4).map(item =>(
               item.carouselData.map(product => (
                   
                   <Slide >
                        <Image><img src={product.productImageUrl}/></Image>
                        <p>{product.name}</p>
                        <p>£{product.price.formattedValue}</p>
                   </Slide>
                   
               ))
               ))}

此外,您还可以使用lodash take方法https://lodash.com/docs/4.17.15#take

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68790923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档