leeseean/react-awesome-swiper

事件绑定问题

Closed this issue · 2 comments

在使用loop模式的情况下会出现点击事件绑定不到每一个元素上,自动复制的dom元素没有我这个绑定的事件
const config = {
loop: true,
autoplay: {
delay: 3000,
stopOnLastSlide: false,
disableOnInteraction: true,
},
direction: 'vertical',
slidesPerView: 1,
preloadImages: false,
lazy: true,
speed: 500,
}

{ data.map(v => (
{ console.log(v) openAnnouncementModal({ title: v.title, content: v.content }) }} > {v.content}
)) }

在使用loop模式的情况下会出现点击事件绑定不到每一个元素上,自动复制的dom元素没有我这个绑定的事件
const config = {
loop: true,
autoplay: {
delay: 3000,
stopOnLastSlide: false,
disableOnInteraction: true,
},
direction: 'vertical',
slidesPerView: 1,
preloadImages: false,
lazy: true,
speed: 500,
}
{ data.map(v => (
{ console.log(v) openAnnouncementModal({ title: v.title, content: v.content }) }} > {v.content}
)) }

on: {
click: (e) => {
const id = e.target.dataset.id
const obj = announcement.filter(v => v.id == id)?.[0]
const { title, content } = obj
openAnnouncementModal({
title,
content
})
}
}
解决了在config配置文件里面的click事件可以获取到点击的event对象,只需要在每个slide上绑定data-只定义属性就可以找到对应的数据