React antd 轮播方法

2024-04-21

我正在考虑使用antd轮播,但我还没有看到描述如何使用的示例goTo(slideNumber, dontAnimate)方法。

我尝试过使用这个问题的答案带箭头的react.js antd轮播 https://stackoverflow.com/questions/44114224/react-js-antd-carousel-with-arrows使goTo方法对我有用,但没有帮助,我总是得到旋转木马参考null

import * as React from 'react';
import { createPortal } from 'react-dom';
import { Modal, Carousel } from 'antd'

export default class ImagePreviewCarousel extends React.Component<any, any> {

    carousel = React.createRef();

    componentDidMount() {
        console.log(this.carousel);
    }

    render() {
        const { url, imgList } = this.props;
        const orderLayout = document.getElementById('order-layout');
        const applicationLayout = document.getElementById('application');

        return (
            createPortal(<ImageViewer url={url} onClose={this.props.onClose} imgList={imgList} />, orderLayout || applicationLayout)
        )
    }
}

const ImageViewer = (props: IProps) => {
    return (
        <Modal 
            footer={null} 
            visible={props.onClose} 
            onCancel={props.onClose}
            bodyStyle={{ backgroundColor: '#000' }}
            width={'800px'}
        >
            <div style={{
                display: 'flex', 
                flexDirection: 'column', 
                justifyContent: 'center', 
                marginTop: 'auto', 
                marginBottom: 'auto', 
                width: '100%',
                height: '100%', 
                zIndex: 10
            }}>
                <Carousel ref={node => (this.carousel = node)}>
                    {props.imgList}
                </Carousel>
            </div>
        </Modal>
    );
}

的结果console.log(this.carousel)总是返回null, 我究竟做错了什么?

p.s反应版本16.4.1,


antd Carousel https://ant.design/components/carousel/是一个实现react-slick, 你可以检查它的 API 示例 https://react-slick.neostack.com/docs/example/slick-go-to.

Here is 我的例子 https://1kli9.codesandbox.io/使用钩子:

import React, { useRef, useState } from 'react';
import { Carousel, Row, InputNumber } from 'antd';


function App() {
  const [slide, setSlide] = useState(0);

  const slider = useRef();

  return (
    <div>
      <Row style={{ marginBottom: 10 }}>
        <InputNumber
          min={0}
          max={3}
          value={slide}
          onChange={e => {
            setSlide(e);
            slider.current.goTo(e);
          }}
        />
      </Row>
      <Row>
        <Carousel
          dots={false}
          ref={ref => {
            console.log(ref);
            slider.current = ref;
          }}
        >
          <div>
            <h3>0</h3>
          </div>
          <div>
            <h3>1</h3>
          </div>
        </Carousel>
      </Row>
    </div>
  );
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

React antd 轮播方法 的相关文章

  • jQuery UI sortable 和 contenteditable=true 不能一起工作

    我正在创建一个列表并希望使其项目可排序和可编辑 所以我这样做 ul li span A span li li span B span li li span C span li ul ul list sortable http jsfiddl
  • Nodemailer:从未收到问候语

    当尝试使用 Nodemailer 在 Node 内发送电子邮件时 https github com nodemailer nodemailer https github com nodemailer nodemailer 调用sendMai
  • 光滑的旋转木马不工作

    我一直在尝试简单地实现 Slick Carousel 的工作 我已按照 Git 页面上的说明进行操作 https github com kenwheeler slick https github com kenwheeler slick 这
  • 改进 D3 序列旭日示例

    This D3示例作为我的出发点 http bl ocks org kerryrodden 7090426 http bl ocks org kerryrodden 7090426 我想更改提供图表的数据 并且我做了以下新示例 http j
  • Rails 递归地包含 javascripts 资源文件夹

    我了解如何将一个 JavaScript 文件添加到 Rails 资产管道中 只需添加 require filename 到 application js 但是如何在一个文件夹下包含多个 javascript 文件 vendor assets
  • EJS在JS onload函数中访问express变量

    我知道你可以像这样获取 ejs 文件中变量的值 h1 h1 如果我要在同一个 ejs 页面的 onload javascript 函数中使用相同的标题变量 我将如何使用它 例如 这个函数产生一个控制台错误说 未捕获的语法错误 意外的标识符
  • React router.push 和 router.replace 之间的区别?

    有什么区别React 路由器推送 and 路由器 替换 路由器历史记录就像一个stack of routes 当您使用router replace 您将覆盖堆栈的顶部 当使用router push 它在顶部添加了一条新路线stack 路由器
  • 如何检查元素的内容是否为空,如果是,则在 jquery 中删除该元素

    我目前正在尝试选择某个 div 内没有内容的任何 h2 元素并将其删除 这是我的 html 代码 div class skipToContainer h2 class vidSkipTo Hello h2 h2 class vidSkipT
  • 更改时触发跨度文本/html

    jQuery 或 JavaScript 中是否有任何事件在以下情况下触发span标签 text html 已更改 Code span class user location span user location change functio
  • 带时间戳的 Firestore 查询

    如果它是文本字段 我可以使用 where 条件获取数据 但是当我尝试对时间戳字段和日期执行相同操作时 事情不起作用 这是我的代码 home ts firebase firestore collection cities where time
  • 从相机视图中拖动锁定在一定距离/半径处的对象

    我在场景中心有一个相机 距离相机 z 400 处有 1 个球体 其父级位于中心 我想从视图中向上 向下 向左 向右拖动球体 但同时不改变它相对于中心的 z 位置 我最终使用了另一个球体并使其不可见 添加side THREE DoubleSi
  • JavaScript 访问密码字段值是否被视为存在安全风险?

    如果安全 正确地存储密码是良好的风格和安全性 那么对于要求用户输入密码的网页来说不应该也是如此吗 考虑这个例子
  • (0, eval) () 的作用是什么? [复制]

    这个问题在这里已经有答案了 以下内容来自这个问题 https stackoverflow com questions 14119988 return this 0 evalthis 14120023 14120023 function q
  • PhantomJS 网页内存消耗?

    是否有一种编程方式 因为我想在运行时自动执行 方式来查看网页在通过 PhantomJs 运行时使用了多少内存 我也在使用 casperjs 如果这有帮助的话 我已经搜索了很多但没有找到任何方法 PhantomJs 使用 QtWebKit 因
  • 父指令属性更改时子指令不会更新

    这是对这两个问题的后续 在父指令和子指令之间传递参数 https stackoverflow com questions 42814530 pass argument between parent and child directives
  • 跨浏览器:禁用输入字段的不同行为(文本可以/不能复制)

    我有一个被禁用的输入 html 字段 在某些浏览器 Chrome Edge Internet Explorer 和 Opera 中可以选择并复制文本 但至少在 Firefox 中这是不可能的 您可以通过在不同浏览器中执行以下代码来测试
  • 如何修复nodejs Express服务器中的“MulterError:意外字段”?

    我正在设置一个服务器来从客户端上传 zip 文件 服务器运行express和multer来执行此操作 上传文件时 服务器抛出 MulterError 意外字段 错误 我无法弄清楚是什么导致了它 我尝试过使用 png 图像 效果很好 但对于
  • 在 JSP 或 Javascript 中清除浏览器缓存中的图像

    我正在为一所大学开发JSP Web 应用程序 用户页面中显示人员图片 用户注销后如何从网络浏览器缓存中清除这张图片 使用 JSP 或 JavaScript 那是不可能的 最好的选择是完全禁用相关资源的缓存 创建一个filter https
  • 使用 JavaScript onclick 添加表格行

    我正在尝试使用 javascript 添加下面找到的完全相同的元素 我已经尝试了这里找到的所有解决方案 我什至尝试用php echo但没有运气 无需更改任何输入名称或类似内容 只需单击该按钮即可向表中添加另一行 仅此而已 这是该元素 tr
  • NodeJS:如何获取服务器的端口?

    您经常会看到 Node 的示例 hello world 代码 它创建一个 Http Server 开始侦听端口 然后执行以下操作 console log Server is listening on port 8000 但理想情况下你会想要

随机推荐

  • Visual Studio 2012 - 导出模板自动化

    在 VS 的早期版本中 您可以使用 ProjectGen exe 自动导出 这在 VS 2012 中还可能吗 我找不到 projectgen exe 或任何解释如何完成此操作的文档 我有几个项目 导出每个项目是很乏味的 现在它在技术上仍然有
  • 已关闭的 Dismissible 小部件仍然是 flutter 中树的一部分

    我有一个待办事项应用程序 它使用provider用于状态管理和sqlite数据库 在应用程序中我试图添加Dismissible用于删除项目的小部件 但问题是当我尝试删除项目时它确实被删除了database但我在屏幕上收到错误 我是颤振的新手
  • IBOutlet 未在 awakeFromNib 中连接

    此处链接的示例代码效果很好 允许 UIScrollView 显示分页图像并预览当前图像之前和之后的图像 http blog proculo de archives 180 Paging enabled UIScrollView With P
  • 使用特殊键在NavigationController中查找ViewController

    我有一个带有不同视图控制器的导航控制器 有时我想将 ViewController 推送到 NavigationController 它已经包含在内 在这种情况下 我想从 TopController 移至现有的 ViewController
  • 使用ajax将数据从文本框发送到asp.net mvc 5控制器

    我需要一些帮助 我使用 ASP NET MVC5 和 JavaScript jQuery Ajax 编写了一个小应用程序 但我无法将数据从 javascript 发送到 MVC 控制器并更改模型 视图模型 public class MyVi
  • Linux世界中最接近Windows COM/DCOM的是什么?

    还有比管道 套接字更高级别 更全面的东西吗 对于进程间通信 D Bus http www freedesktop org wiki Software dbus是标准的更高级别机制 GTK 和 Qt 都具有 D Bus 绑定 大多数桌面环境
  • 如何将Hyperledger Composer部署到“Azure Hyperledger Single Member Blockchain”?

    我找到了将 Hyperledger Fabric 部署到 Azure Hyperledger Single Member Blockchain 的指南here https gallery technet microsoft com Hype
  • Google Tensorflow 中的事件文件

    我正在使用 Tensorflow 构建神经网络 我想在 Tensorboard 上显示训练结果 到目前为止一切正常 但我对 Tensorboard 的 事件文件 有疑问 我注意到每次运行 python 脚本时 它都会生成不同的事件文件 当我
  • java重写方法调用

    我有一个超级课程 public class SuperClass public void dosomething firstMethod secondMethod public void firstMethod System out pri
  • Javascript:如何根据项目属性值删除数组项目(JSON 对象)?

    像这样 var arr name robin age 19 name tom age 29 name test age 39 我想删除这样的数组项 数组原型方法 arr remove name test remove by name arr
  • 启用 SplitView 和 MultiTask iPad 混合应用程序。删除交互

    我们有 ionic iPad 应用程序 使用 cordova 电容器平台 我们使用以下链接启用了 iPad 13 的分割视图https en gg enable ipad split screen feature in an ionic o
  • 如何在 Android 应用程序中合理管理音频音量?

    我有一个应用程序 在其活动打开时播放间歇性声音 用户总是期望它发出这些声音 但不幸的是它受到音乐流音量的限制 我发现的选项是 调整音乐流的音量 如果用户当时正在播放音乐 则可能会使用户耳聋 如果音乐流的音量为0 则调用MediaPlayer
  • 如何在 Tensorflow 上测试自己的图像到 Cifar-10 教程?

    我训练了 Tensorflow Cifar10 模型 我想为其提供自己的单个图像 32 32 jpg png 我想将标签和每个标签的概率视为输出 但我对此遇到了一些麻烦 搜索堆栈溢出后 我发现了一些帖子this https stackove
  • 从 nib 初始化自定义 UITableViewCell,无需 dequeueReusableCellWithIdentifier

    SWIFT 我需要制作一个单元格数组 我有一些带有 nib 文件的自定义单元格类 继承自 UITableViewCell 如何在不在表视图中注册笔尖并执行 dequeueReusableCellWithIdentifier 的情况下初始化单
  • 如何设置 MySQL 以便与 C# 一起使用?

    我的任务是为旧网站创建一个新的前端 它是用 php oo 之前的版本 编写的 并使用 MySQL 数据库 主机提供 Net包 但不提供Ms Sql Server 这很好 因为数据库工作正常 但我真的想使用 Asp net 作为页面 然而 我
  • 在 NSMenuItem 中使用 NSProgressIndicator

    我正在尝试在状态栏菜单内使用 NSProgressIndicator 不确定 我使用 NSView 对象作为菜单项的视图 然后子视图进度指示器来显示它 但是每当我尝试调用 startAnimation 来获取进度时 什么也没有发生 当我尝试
  • 使用conftest.py 与从专用模块导入装置

    我最近开始熟悉 pytest 以及如何使用conftest py定义在我的测试中自动发现和导入的装置 我很清楚如何conftest py工作原理以及如何使用它 但我不确定为什么这在某些基本场景中被认为是最佳实践 假设我的测试是这样构建的 t
  • UITextView 可以容纳多少文本?

    我有一个不可编辑的UITextView显示用户输入的文本 如果文本很长会发生什么 它会让我的应用程序崩溃吗 我应该对文本进行分页吗 iPhone 网络浏览器 如 Safari Chrome 或 Firefox 如何处理此问题 有没有类似的东
  • 如何在Cloudant或CouchDB中使用skip参数?

    在 Cloudant 或 CouchDB 的索引中使用 Skip 参数是否存在潜在的性能损失 有更好的技术可以使用吗 The 在 CouchDB 中写入和查询 MapReduce 视图 http my safaribooksonline c
  • React antd 轮播方法

    我正在考虑使用antd轮播 但我还没有看到描述如何使用的示例goTo slideNumber dontAnimate 方法 我尝试过使用这个问题的答案带箭头的react js antd轮播 https stackoverflow com q