首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将箭头控件设置为自定义按钮

问如何将箭头控件设置为自定义按钮
EN

Stack Overflow用户
提问于 2019-07-08 10:35:30
回答 2查看 3.5K关注 0票数 1

我将react-slick添加到我的项目中,以显示carousel。我想控制我的滑块与自定义下一步和prev按钮,这是在滑块的内容顶部。所以我遵循了自定义箭头文档,但我不想在光滑的内容中显示我的按钮,我想将控件交给滑块内容上方的按钮。如何做到这一点?我从我创建的组件中包含我的代码。

​

代码语言:javascript
复制
import React from 'react';
import "slick-carousel/slick/slick.css";
import "slick-carousel/slick/slick-theme.css";
import Slider from "react-slick";
import { styled } from '@material-ui/styles';
import Button from '@material-ui/core/Button';

function SampleNextArrow(props) {
  const { onClick } = props;
  return (
    <React.Fragment>
      <Button
        onClick={onClick} className="slickRight">
        Next
      </Button>
    </React.Fragment>
  );
}
function SamplePrevArrow(props) {
  const { onClick } = props;
  return (
    <React.Fragment>
      <Button
        onClick={onClick} className="slickLeft">
        Prev
      </Button>
    </React.Fragment>
  );
}

class App extends React.Component {
  constructor(props) {
    super(props);
    this.state = {}
  }
  render() {
    var settings = {
      infinite: true,
      speed: 500,
      slidesToShow: 4,
      slidesToScroll: 1,
      nextArrow: <SampleNextArrow />,
      prevArrow: <SamplePrevArrow />,
    };
    return (
      <div>
        {/*Want to Add Control to this Buttons*/
        <Button>Prev</Button>
        <Button>Next</Button>
        
        <div className="container">
          <Slider {...settings}>
            <div>
              <h3>1</h3>
            </div>
            <div>
              <h3>2</h3>
            </div>
            <div>
              <h3>3</h3>
            </div>
          </Slider>
        </div>
      </div>
    );
  }
}

export default App;

​

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-13 10:42:25

Nandhini,在使用包之前,必须需要完整地阅读文档一次。

在正式文档https://react-slick.neostack.com/docs/example/previous-next-methods中已经有了这样的方法

使用它。

票数 0
EN

Stack Overflow用户

发布于 2021-06-07 02:28:43

在这里,您可以通过使用react Hook来实现这一点--这里是实际代码:

代码语言:javascript
复制
import React, { useRef } from "react";
import Slider from "react-slick";
 
const SliderComponent = () => {
 const slider = useRef();
  
  const next = () => {
   slider.current.slickNext();
 };
  const previous = () => {
   slider.current.slickPrev();
 }; 
  
  const settings = {
    dots: false,
    infinite: true,
    speed: 500,
    slidesToShow: 2,
    slidesToScroll: 1,
    autoplaySpeed: 3000,
    arrows: false,
  
  responsive: [
   {
    breakpoint: 1024,
    settings: {
      slidesToShow: 2,
      slidesToScroll: 2,
      infinite: true,
      dots: true,
    },
  },
  {
    breakpoint: 768,
    settings: {
      slidesToShow: 1,
      slidesToScroll: 1,
    },
  },
 ],
};
  return(
     <div>
       <button  onClick={previous}> Prev Button </button>
        <Slider ref={(c) => (slider.current = c)} {...settings}>
            <div>Slide 1</div>
            <div>Slide 2</div>
            <div>Slide 3</div>
            <div>Slide 4</div>
            <div>Slide 5</div>
        </Slider>
      <button onClick={next}> Next Button </button>
   </div>            
   )}   
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56933114

复制
相关文章

相似问题

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