当我尝试旋转单个页面(而不是整个文档)时,没有页面旋转。
在我的示例中,我尝试仅旋转第 2 页,但两个页面均未旋转显示。
import React, { Component } from 'react';
import { Document, Page } from 'react-pdf';
import samplePdf from './sample.pdf';
class PdfViewer extends Component {
render() {
return (
<Document file={samplePdf}>
<Page pageNumber={1} />
<Page pageNumber={2} rotate={90}/>
</Document>
);
}
}
export default PdfViewer;
检查代码似乎我找到了错误的来源。 请参阅内联说明。
文件:Document.jsx/方法:renderChildren
...
renderChildren() {
const { children, className, rotate } = this.props;
const { pdf } = this.state;
const { linkService, registerPage, unregisterPage } = this;
const childProps = {
linkService,
registerPage,
unregisterPage,
pdf,
rotate,
};
//
// BUG FIX
//
// At this point childProps.rotate is "undefined" due to it's assigned from <Document> props. When React.cloneElement is called bellow for each page, childProps.rotate is overwriting the rotate prop of the original <Page> so it's allways set to "undefined". My following piece of code seems to fix the issue:
if (typeof(childProps.rotate) === 'undefined'){
delete childProps.rotate;
}
...
嘿@herneli ,
谢谢你的这份报告! 很快就会解决这个问题。
嘿@herneli ,
很高兴地通知 v2.4.2 已发布,它包含针对此问题的修复程序 :) 让我知道您的想法。
非常感谢。 做得好!!!