如何在滑块 React.js 之外添加自定义按钮组

安德鲁

我使用 react-multi-carousel,我尝试在滑块外创建自定义按钮,但是当我创建自定义按钮时,我有一些错误:

在此处输入图片说明

我使用这个代码:

import React from "react";
import "./Cards.css";
import Carousel from "react-multi-carousel";
import classes from "./CarouselCards.module.css"
import ProductionCards from "./ProductionCards/ProductionCards.jsx"

const responsive = {
  desktop: {
    breakpoint: { max: 3000, min: 1024 },
    items: 4,
    paritialVisibilityGutter: 140
  },
  tablet: {
    breakpoint: { max: 1024, min: 464 },
    items: 2,
    paritialVisibilityGutter: 50
  }
};

const ButtonGroup = ({ next, previous, goToSlide, ...rest }) => {
  const { carouselState: { currentSlide } } = rest;
  return (
    <div className="carousel-button-group"> // remember to give it position:absolute
      <ButtonOne className={currentSlide === 0 ? 'disable' : ''} onClick={() => previous()} />
      <ButtonTwo onClick={() => next()} />
      <ButtonThree onClick={() => goToSlide(currentSlide + 1)}> Go to any slide </ButtonThree>
    </div>
  );
};

const CarouselTabs = ({ data }) => {
  return (
    <Carousel
      ssr
      itemClass="image-item"
      responsive={responsive}
      className={classes.card}
      minimumTouchDrag={80}
      infinite={true}
      rrows={false} renderButtonGroupOutside={true} customButtonGroup={<ButtonGroup />}
    >
      {data.map(item => <ProductionCards product={item} />)}
    </Carousel>
  );
};

export default CarouselTabs;

我如何解决这个问题并在滑块外有按钮?

尼西什

从错误中可以明显看出您没有在任何地方定义ButtonOne, ButtonTwo&ButtonThree但它们正在被使用。

从文档中react-multi-carousel我们可以自定义点或箭头,并且可以通过提供自定义组件作为 prop 来自定义customButtonGroup

在您的实现中,提供了一个自定义按钮组,但从不声明内部使用的 components( ButtonOne, ButtonTwo& ButtonThree)。

因此,您可以定义一个自定义按钮组,如下所示

const CustomButtonGroup = ({ next, previous, goToSlide, carouselState }) => {
  const { totalItems, currentSlide } = carouselState;
  return (
    <div className="custom-button-group">
      <div>Current slide is {currentSlide}</div>
      <button onClick={() => previous()}>Previous slide</button>
      <button onClick={() => next()}>Next slide</button>
      <button
        onClick={() => goToSlide(Math.floor(Math.random() * totalItems + 1))}
      >
        Go to a random slide
      </button>
    </div>
  );
};

上面的例子直接取自react-multi-carousel stories,可以根据需要进行修改。

我在下面创建了一个示例沙箱是链接

编辑 react-multi-carousel

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在React SPA中实现添加自定义js代码段功能?

如何在React Native中向标题添加自定义标题和按钮?

HERE Map UI JS-如何在地图UI中添加自定义按钮?

如何自定义React Native按钮

如何在 React 中自定义 Reactstrap 按钮?

如何在React Hook中添加自定义className?

如何在 useEffect hook(react) 中启用 Playertone.js 的音量滑块?

如何在React-Select中向我的自定义组件MultiValue添加Remove(X)按钮?

如何添加多个自定义控件按钮传单js?

如何在React JS中清除自定义控件的值

我将如何在自定义域上部署我的 React.js 更改?

如何在React Native中使用Sentry自定义index.js的位置?

如何在循环中为 React JS 显示自定义确认警报?

如何在 React JS 中使用自定义索引映射数组

如何在JS / React中导出和导入自定义帮助程序?

我如何在React JS中返回自定义HTML div?

react js如何在jsx中添加按钮

NewComer物品滑块如何在shopingworld之外创建自定义?

如何在React Slick的滑块点中添加slick-active类

自定义jquery / js滑块动画

如何在React中显示图像滑块

如何从库向React的HTMLAttributes添加自定义属性?

如何向 React Datepicker (HackerOne) 添加自定义样式?

React JS滑块滞后

如何在自定义范围滑块中显示分区?

如何添加自定义按钮状态

React自定义滑块-在滑块上显示气泡值

如何为Ember js添加自定义环境?

Sails js ::如何添加自定义验证错误