【问题标题】:How to move Carousel both vertically and horizontally(nested) with react-responsive-carousel如何使用 react-responsive-carousel 垂直和水平(嵌套)移动 Carousel
【发布时间】:2021-06-19 03:30:04
【问题描述】:

我在 Ionic react 工作。我添加了 react-responsive-carousel 用于滑动内容,我需要根据条件垂直和水平滚动轮播。我该如何解决这个问题?请帮忙

import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import "react-responsive-carousel/lib/styles/carousel.min.css"; // requires a loader
import { Carousel } from 'react-responsive-carousel';

class DemoCarousel extends Component {
    render() {
        return (
            <Carousel>
                <div>
                    <img src="assets/1.jpeg" />
                    <p className="legend">Legend 1</p>
                </div>
                <div>
                    <img src="assets/2.jpeg" />
                    <p className="legend">Legend 2</p>
                </div>
                <div>
                    <img src="assets/3.jpeg" />
                    <p className="legend">Legend 3</p>
                </div>
            </Carousel>
        );
    }
});

ReactDOM.render(<DemoCarousel />, document.querySelector('.demo-carousel'));

// Don't forget to include the css in your page

// Using webpack or parcel with a style loader
// import styles from 'react-responsive-carousel/lib/styles/carousel.min.css';

// Using html tag:
// <link rel="stylesheet" href="<NODE_MODULES_FOLDER>/react-responsive-carousel/lib/styles/carousel.min.css"/>

【问题讨论】:

    标签: javascript css reactjs ionic-framework react-responsive-carousel


    【解决方案1】:

    根据docs,您可以将滚动方向作为参数传递给旋转木马'horizontal''vertical'

    将滚动方向的 2 个选项存储为变量,并根据条件设置滚动方向。

    import React, { Component } from 'react';
    import ReactDOM from 'react-dom';
    import "react-responsive-carousel/lib/styles/carousel.min.css"; // requires a loader
    import { Carousel } from 'react-responsive-carousel';
    
    const SCROLL_DIRECTION = {
       H = "horizontal",
       V = "vertical"
    }
    
    class DemoCarousel extends Component {  
        constructor() {
        super()
        this.state = {
          scrollDirection: SCROLL_DIRECTION.H // or SCROLL_DIRECTION.V
        }
       }
        render() {
            return (
                <Carousel
                  direction = {this.state.scrollDirection} 
                >
                    <div>
                        <img src="assets/1.jpeg" />
                        <p className="legend">Legend 1</p>
                    </div>
                    <div>
                        <img src="assets/2.jpeg" />
                        <p className="legend">Legend 2</p>
                    </div>
                    <div>
                        <img src="assets/3.jpeg" />
                        <p className="legend">Legend 3</p>
                    </div>
                </Carousel>
            );
        }
    });
    
    ReactDOM.render(<DemoCarousel />, document.querySelector('.demo-carousel'));
    
    // Don't forget to include the css in your page
    
    // Using webpack or parcel with a style loader
    // import styles from 'react-responsive-carousel/lib/styles/carousel.min.css';
    
    // Using html tag:
    // <link rel="stylesheet" href="<NODE_MODULES_FOLDER>/react-responsive-carousel/lib/styles/carousel.min.css"/>
    
    
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-05
      • 1970-01-01
      • 1970-01-01
      • 2021-12-02
      • 2021-12-15
      • 2022-06-11
      相关资源
      最近更新 更多