【发布时间】:2017-06-18 05:55:45
【问题描述】:
我在 Android 平板电脑上的带有 HTML <select> 标签的 React Native 的 WebView 中遇到了一个非常奇怪的问题。
由于某种原因,点击呈现的<select> 按钮不会打开选项列表。
这仅发生在 Android 平板电脑上,与 Android 版本无关。但是,在 Android 智能手机上,不会出现此错误,并且选项列表会按预期打开。
为了重现这个错误,我创建了一个简单的演示应用程序:https://github.com/huonderv/react-native-webview-html-select-bug。
重要的代码如下:
index.android.js
import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View,
WebView
} from 'react-native';
export default class WebViewProject extends Component {
render() {
return (
<WebView
style={styles.container}
source={{ uri: 'file:///android_asset/simpleselect.html'}}
startInLoadingState={true}
/>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
},
});
AppRegistry.registerComponent('WebViewProject', () => WebViewProject);
simpleselect.html
<!DOCTYPE html>
<html>
<body>
<select>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>
</body>
</html>
我还尝试将 WebView 替换为 Crosswalk,如下所述:https://github.com/grovertb/react-native-crosswalk-webview。但是,这并没有解决这个问题。
有谁知道如何让它在 Android 平板电脑上的 React Native WebView 中工作?
【问题讨论】:
-
可能是框架的问题,代码对我来说并没有特别错误..
-
似乎是与操作系统相关的问题。
-
你使用的是什么版本的 ReactNative?
标签: javascript android react-native android-webview react-native-android