Android 平台下,React Native WebView 的官方组件,无法上传文件,<input type = "file">
不能打开文件对话框,需要自己监听事件去扩展。
幸好这里有一个封装好的库,可以直接使用:
https://github.com/lucasferreira/react-native-webview-android
那么问题来了,这个库只有android版本,所以ios下,仍然采用 RN 自带的 WebView 组件。这就需要判断系统类型,实现组件的动态加载,参考代码如下:
/** * 加载主界面 */ render() { const WebViewEx = Platform.select({ ios: () => require('react-native').WebView,android: () => require('react-native-webview-android'),})(); return <WebViewEx ref='webView' source={ // 省略代码 }