react-pdf组件onItemClick事件无法触发问题求助
解决react-pdf中组件点击事件不触发的问题
看起来你是想给react-pdf的onItemClick没效果对吧?这是因为react-pdf的onItemClick这个内置事件
下面给你几个可行的解决方案:
方案一:直接给绑定标准的onClick事件
onClick事件 react-pdf的onClick来替代onItemClick,同时通过直接传入pageNumber来获取点击的页码:
onPageClick = (pageNumber) => { alert('Clicked an item from page ' + pageNumber + '!') } let display = [1,2,3,4,5].map((page, index) => { const currentPage = index + 1; return ( <Page key={index} onClick={() => this.onPageClick(currentPage)} pageNumber={currentPage} scale={1} /> ) })
这样点击
方案二:用容器包裹并绑定点击事件
如果
onPageClick = (pageNumber) => { alert('Clicked an item from page ' + pageNumber + '!') } let display = [1,2,3,4,5].map((page, index) => { const currentPage = index + 1; return ( <div key={index} onClick={() => this.onPageClick(currentPage)} style={{ cursor: 'pointer', marginBottom: '12px', padding: '4px' }} > <Page pageNumber={currentPage} scale={1} /> </div> ) })
这种方式能确保整个预览卡片区域都能响应点击,设置cursor: 'pointer'还能给用户更直观的交互提示。
额外提示:精细页面交互的进阶方案
如果你需要监听页面内的文本选择、特定元素点击等更复杂的交互,可以考虑使用react-pdf提供的onTextLayerRendered钩子,或者结合useDocument、usePage这些自定义钩子来获取页面的详细信息,再做进一步的事件绑定。
内容的提问来源于stack exchange,提问作者Lakshmi Prasanna
相关产品推荐
相关产品推荐

