在本机反应中,我有一个表单(简单的字段 - 名称、地址),并且想添加一个下拉列表来选择用户类型。我想从 firebase 动态加载下拉列表。是否可以 ?感谢任何帮助。
更新:
import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View,
Picker,
} from 'react-native';
export default class Testpicker extends Component {
constructor(props) {
super(props);
types = [{userType: 'admin', userName: 'Admin User'}, {userType: 'employee', userName: 'Employee User'}, {userType: 'dev', userName: 'Developer User'}];
this.setState({userTypes: types});
}
loadUserTypes() {
return this.state.userTypes.map(user => (
<Picker.Item label={user.userName} value={user.userType} />
))
}
render() {
return (
<View>
<Picker
selectedValue={this.state.selectedUserType}
onValueChange={(itemValue, itemIndex) =>
this.setState({selectedUserType: itemValue})}>
// Dynamically …Run Code Online (Sandbox Code Playgroud) 我对React-Native还是陌生的,到目前为止,我一直很喜欢。我正在尝试创建一个屏幕(用于跨平台应用程序),该屏幕的右上角有一个菜单图标,当我单击该菜单时,我想打开一个菜单,希望使用react-native-menu菜单显示“ Sign Out”和“ Account”菜单选项。此后很难弄清楚如何调用菜单。感谢任何帮助。
import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
View,
} from 'react-native';
import ActionBar from 'react-native-action-bar';
export test class Main extends Component {
render() {
return (
<View style={styles.screen}>
<ActionBar
containerStyle={styles.bar}
backgroundColor='#33cc33'
rightIcons={[
{
name: 'menu',
onPress: () => console.log('menu clicked'),
},
]}
/>
</View>
);
}
}
const styles = StyleSheet.create({
screen: {
backgroundColor: '#33cc33',
flex: 1,
paddingTop: 10,
alignItems: 'center',
//padding: 10
},
});
AppRegistry.registerComponent('Main', () => Main);
Run Code Online (Sandbox Code Playgroud) 在Firebase数据库中,我仅尝试更新一列。Firebase数据库“用户” JSON:
"users" : {
"5yty2c8TyChQu3fMJ1O3d44wuq2" : {
"Email" : "myEmail@yahoo.com",
"FirstName" : "John",
"LastName" : "Smith",
"MobileNumber" : "",
"NickName" : "",
"profile_picture" : ""
}
Run Code Online (Sandbox Code Playgroud)
我只想用以下代码更新一栏-MobileNumber:
updateMobileNumber(){
var updateData = {
MobileNumber: this.state.mobileNumber
};
var updates = {};
updates['/users/' + userId ] = updateData;
database.ref('users/' + userId).update(updates);
alert('Account Updated');
}
Run Code Online (Sandbox Code Playgroud)
上面的代码不是更新MobileNumber列,而是删除所有其他列并添加Email列。我究竟做错了什么 ?我想更新“电子邮件”列而不触摸其他列。感谢任何帮助。