首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在反应中显示图像滑块

如何在反应中显示图像滑块
EN

Stack Overflow用户
提问于 2018-05-29 09:55:15
回答 1查看 4.7K关注 0票数 2

我正在使用这个插件https://github.com/akiran/react-slick的图像滑块,但由于某种原因,我无法实现我想要的。

下面是一个示例代码:

代码语言:javascript
复制
import React, { Component } from "react";
import Slider from "../src/slider";
import { baseUrl } from "./config";

export default class CenterMode extends Component {
  render() {
    const settings = {
      customPaging: function(i) {
        return (
          <a>
            <img src={`${baseUrl}/abstract0${i + 1}.jpg`} />
          </a>
        );
      },
      dots: true,
      dotsClass: "slick-dots slick-thumb",
      infinite: true,
      speed: 500,
      slidesToShow: 1,
      slidesToScroll: 1
    };
    return (
      <div>
        <h2>Custom Paging</h2>
        <Slider {...settings}>
          <div>
            <img src={baseUrl + "/abstract01.jpg"} />
          </div>
          <div>
            <img src={baseUrl + "/abstract02.jpg"} />
          </div>
          <div>
            <img src={baseUrl + "/abstract03.jpg"} />
          </div>
          <div>
            <img src={baseUrl + "/abstract04.jpg"} />
          </div>
        </Slider>
      </div>
    );
  }
}

这非常好,除非图像文件名类似于abstract01,abstract02,在我的例子中,图像文件名是随机的--它可以是任何东西,因此缩略图部分对我不起作用。是否有任何选项可以在customPaging上传递其他参数,以便接收src attr并从中获取文件名。

任何想法在这里都会很感激的。注意:在我的例子中的图片来自亚马逊s3,所以我根本无法控制它们!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-29 10:08:46

我相信你可以这样做:

代码语言:javascript
复制
const images = [
  { src: baseUrl + "/abstract01.jpg" },
  { src: baseUrl + "/abstract02.jpg" },
  { src: baseUrl + "/abstract03.jpg" },
  { src: baseUrl + "/abstract04.jpg" },
];

export default class App extends Component {
  render() {
    const settings = {
      customPaging: function (i) {
        return (
          <a>
            <img src={images[i].src} />
          </a>
        );
      },
      dots: true,
      dotsClass: "slick-dots slick-thumb",
      infinite: true,
      speed: 500,
      slidesToShow: 1,
      slidesToScroll: 1
    };
    return (
      <div>
        <h2>Custom Paging</h2>
        <Slider {...settings}>
          {images.map((img) => (
            <div>
              <img src={img.src} />
            </div>
          ))}
        </Slider>
      </div>
    );
  }
}

基本上,您可以创建图像数组(因为您已经知道了图像),然后映射它以获取幻灯片,并在自定义分页中使用迭代器从数组中按索引获取图像。

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

https://stackoverflow.com/questions/50581410

复制
相关文章

相似问题

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