当我点击保存按钮时,我收到 TypeError: undefined is not an object (evaluating 'n._viewer.saveDocument')。我认为保存文档的文件路径没有在覆盖层内传递。我可能是错的。谁能告诉我我在这里做错了什么?
render() {
var filepath;
if (this.props.dsType == "fileDocument") {
if (path == fileContent.value) {
filepath = path.uri;
} else {
<h1>Unable to render document.</h1>;
}
}
//value in filepath
console.info("filepath =", filepath);
return (
<View style={{ flex: 1 }}>
<DocumentView
//ref={(c) => this._viewer = c}
document={filepath}
onDocumentLoaded={path => {
console.info("The document has finished loading:", path);
}}
/>
<View style={styles.button}>
<Button
onPress={() => {
// Manual Save
this._viewer.saveDocument().then((filePath) => {
console.log('saveDocument:', filePath);
});
}}
title="Save"
/>
</View>
</View>
);
}
return null;
}
答案 0 :(得分:0)
您似乎已注释掉应分配查看器实例的行。如前所述,该行应该取消注释,以便可以为 this._viewer
分配一个引用。如果您不确定,可以参考 GitHub 上提供的示例代码:https://github.com/PDFTron/pdftron-react-native/blob/e19b4970357f9ed2443696eb989f1c91c1905911/example/App.js#L82。