react-native – 如何使用Platform.OS来反应原生元素?
发布时间:2020-12-15 09:31:43 所属栏目:百科 来源:网络整理
导读:我想在 IOS上使用没有任何功能的KeyboardAwareScrollView,并给出下面的 android代码. I know that I need to use Platform.OS === ‘ios’ ? : BUT I DON’T UNDERSTAND HOW TO REALISE IT. Please help me render(){ return( KeyboardAwareScrollView extra
我想在
IOS上使用没有任何功能的KeyboardAwareScrollView,并给出下面的
android代码.
render(){ return( <KeyboardAwareScrollView extraScrollHeight={100} enableOnAndroid={true} keyboardShouldPersistTaps='handled' > <TextInput style={styles.inputContainerStyle} label="Username" value={this.state.username} onChangeText={username => this.setState({ username })} /> </KeyboardAwareScrollView> ) }
<KeyboardAwareScrollView Platform.OS === 'android' ? ( extraScrollHeight={100} enableOnAndroid={true} keyboardShouldPersistTaps='handled' ) : null > 解决方法
您可以同时使用JSX prop spread和三元表达式:
<KeyboardAwareScrollView { ...(Platform.OS === 'android' ? { extraScrollHeight={100} enableOnAndroid={true} keyboardShouldPersistTaps='handled' } : {}) } > 我强烈建议不要这样做所有内联,因为它很难阅读.你可以使用Platform.select做一些有点可读(和声明)的事情: const keyboardProps = Platform.select({ android: { … },ios: {},}); … <KeyboardAwareScrollView {...keyboardProps}> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |