简体   繁体   English

如何将 addFilter() 与 react-slick 一起使用?

[英]How to use addFilter() with react-slick?

I'm developing with react.我正在开发反应。 And I want to use sliders, so I decided to use a library called "react-slick".我想使用滑块,所以我决定使用一个名为“react-slick”的库。

I used to use a library called "slick" in a place other than React's development environment.我曾经在 React 开发环境以外的地方使用过一个名为“slick”的库。 "slick" had methods for adding, removing, and filtering elements to sliders, such as slickAdd(), slickRemove(), and slickFilter(). “slick”具有向滑块添加、删除和过滤元素的方法,例如 slickAdd()、slickRemove() 和 slickFilter()。 However, it looks like this hasn't been implemented yet in react-slick.但是,看起来这还没有在 react-slick 中实现。

I mainly want to use SlickFilter(), how should I implement this?我主要想使用 SlickFilter(),我该如何实现呢?


The demo page of react-slick is here, but unfortunately there is no demo about filter. react-slick的demo页面在这里,可惜没有关于filter的demo。

https://react-slick.neostack.com/docs/example/simple-slider https://react-slick.neostack.com/docs/example/simple-slider

On the other hand, even on slick, there is a demo titled "Filtering" on the page.另一方面,即使在 slick 上,页面上也有一个名为“过滤”的演示。

http://kenwheeler.github.io/slick/ http://kenwheeler.github.io/slick/

You should decide when rendering your slide items based on the filters you want, for example this code filter slides if we click to toggle view of slides with odd number:您应该根据所需的过滤器决定何时渲染幻灯片项目,例如,如果我们单击以切换奇数幻灯片的视图,则此代码过滤幻灯片:

import React, { useState } from "react";
import Slider from "react-slick";


export default function App() {
  const [isOdd, setOdd] = useState(false);
  var settings = {
    dots: true,
    infinite: true,
    speed: 500,
    slidesToShow: 1,
    slidesToScroll: 1
  };
  let Slides = [
    <div key="1">
      <h3>1</h3>
    </div>,
    <div key="2">
      <h3>2</h3>
    </div>,
    <div  key="3">
      <h3>3</h3>
    </div>,
    <div key="4">
      <h3>4</h3>
    </div>,
    <div>
      <h3>5</h3>
    </div>,
    <div>
      <h3>6</h3>
    </div>
  ];
  return (
    <div>
      <h2> Single Item</h2>
      <Slider {...settings}>
        {Slides.map((item, key) => {
          if (isOdd) {
            return key % 2 === 0 ? item : null;
          }
          return item;
        })}
      </Slider>
      <hr />
      <button onClick={() => setOdd(!isOdd)}>toggle</button>
    </div>
  );

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM