javascript - 每次在 React 中调用事件处理程序时如何重置 react-id-swiper?
问题描述
我正在使用 react-id-swiper 模块来响应加载滑块,我在一些具有不同 id 属性的按钮上设置了 onClick 事件处理程序,每次用户单击按钮时都会调用具有不同 id 的 API,状态已更新,因此加载了 ImageSlider 组件,并且一些图像显示在模态的滑块中。图像按预期显示,但问题是每当单击新按钮时都会加载新图像,但分页按钮不会重置,并且分页按钮的数量固定为第一个 API 调用图像的数量!所以我猜刷卡器没有被重置。我正在研究如何在组件中渲染刷卡器之前重置或销毁刷卡器,但我没有任何运气。
到目前为止,我已经检查了提到的页面,但无法找到解决方案! react-id-swiper和 react-id-swiper npm
这是 ImageSlider 组件:
import Swiper from 'react-id-swiper';
import 'react-id-swiper/src/styles/css/swiper.css';
class ImageSlider extends Component {
render() {
const params = {
pagination: {
el: '.swiper-pagination',
clickable: true
},
runCallbacksOnInit: true,
onInit: (swiper) => {
this.swiper = swiper
}
}
const slides = this.props.sliderImages;
let imgSlider = slides.map((slide,index) =>
<div key={index}><img src={ 'http://172.16.1.74:8000'+ slide.url } key={index} className="img-fluid sliderImg" alt="alt title" /></div>
);
return (
<div>
<Swiper {...params}>
{ imgSlider }
</Swiper>
</div>
)
}
}
export default ImageSlider;
感谢您提供简单直接的答案,谢谢。
解决方案
我通过将rebuildOnUpdate: true
prop 添加到传递给 Swiper 的参数中找到了解决方案。可以在此处找到完整的道具列表react-id-swiper original props。
推荐阅读
- excel - VBA 宏中带有 IF Else 的工作日函数
- ruby-on-rails - 没有循环的 Rails 中的自定义 getter 和 setter
- ruby - Ruby:如何使用 dup/clone 不改变原始实例变量?
- regex - 如何修复正则表达式以使用移动设备和名称混合捕获 whatsapp 导出的文本标题
- directx - 计算着色器未针对特定(有效)代码进行编译
- java - 如何控制和识别多个网络中安装的多个树莓派
- r - 对数据帧列表进行矢量化索引 R
- css - 同时定位 IE11 和屏幕宽度
- sql - 是否可以创建一个同时插入变量值和表字段的追加查询?
- amazon-web-services - 找不到对象时 AWS 返回 403 而不是 404