我在我的本机项目中使用了if([[defaults valueForKey:@"InAppStatus"] isEqualToString:@"Purchased"]) {
//App Should Unlock with No Ads
} else {
//Show Ads
}
。我正在从API获取数据。
对不起,我的英语不好。
react-native-material-dropdown
和下拉代码
fetch('xxxx.json', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
}
}).then((response) => response.json())
.then((responseJson) => {
var count = Object.keys(responseJson.cities).length;
for(var i=0;i<count;i++){
//console.warn(responseJson.cities[i].name) // I need to add
//these names to dropdown
this.state.drop_down_data.push({ value: responseJson.cities[i].name,id:responseJson.cities[i].id });
}
//this.setState({ drop_down_data });
})
.catch((error) => {
console.error(error);
});
和更改方法问题在这里
<Dropdown
label='City'
data={this.state.drop_down_data}
onChangeText={this.onCityChange.bind(this)}
/>
在这里我想输入城市ID。值即将到来,但ID尚未到来,或者我不知道要进入ID。
如果我可以获取身份证,我可以发出城镇的邮政要求。
我该怎么做?
和一些json数据
onCityChange(val,ind,data){ fetch('xxxx/'+ cityid +'/towns.json', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
}
}).then((response) => response.json())
.then((responseJson) => {
this.setState({drop_down_data2: []});
var count = Object.keys(responseJson.towns).length;
for(var i=0;i<count;i++){
//console.warn(responseJson.towns[i].name) // I need to add
//these names to dropdown
//
this.state.drop_down_data2.push({ value: responseJson.towns[i].name,id:responseJson.towns[i].id });
}
//this.setState({ drop_down_data });
})
.catch((error) => {
console.error(error);
});
}
答案 0 :(得分:1)
onChangeText 方法具有3个参数(值,索引,数据)
数据=完整数组
索引=已选择当前项目索引
您可以通过此代码获取ID
onChangeText = (value, index, data) => {
const cityId = data[index].id;
console.log("cityId", cityId);
};
完整的示例代码
import React, { Component } from "react";
import { Dropdown } from "react-native-material-dropdown";
const data = [
{
value: "City1",
id: 1
},
{
value: "City2",
id: 2
},
{
value: "City3",
id: 3
}
];
export default class Example extends Component {
onChangeText = (value, index, data) => {
const cityId = data[index].id;
console.log("cityId", cityId);
};
render() {
return (
<Dropdown
label="Favorite Fruit"
data={data}
style={{ marginTop: 50 }}
onChangeText={this.onChangeText}
/>
);
}
}