在另一个值上选择一个值时更新下拉列表
Update Dropdown list when a value is selected on another one
我的代码有两个来自 "react-native-material-dropdown" 的下拉列表。第一个在开始时填充,第二个必须在第一个下拉列表中选择元素时填充(通过获取 json 数据)。
到目前为止,这是我写的全部内容:
...
import { Dropdown } from 'react-native-material-dropdown';
export default class Example extends Component {
render() {
let firstValues = [{
value: 'AAA',
}, {
value: 'BBB',
}, {
value: 'CCC',
}];
return (
<View>
<Dropdown
label='First'
data={firstValues}
onChangeText={(value)=>{
fetch("...")
.then(response => response.json())
.then((responseJson)=> {
var count = Object.keys(responseJson.myJson).length;
let secondValues = [];
for(var i=0;i<count;i++){
secondValues.push({ value: responseJson.myJson[i].name });
}
this.setState({ secondValues });
})
.catch((error) => {
alert('Error');
});
}}
/>
<Dropdown
label='Second'
data={this.secondValues}
/>
</View>
)
}
}
...
问题是第二个下拉列表永远不会更新,它总是空的。
我仍然是初学者,所以任何帮助将不胜感激。
谢谢
在 Second DropDown 中,您没有正确获取状态值
改变这个
<Dropdown
label='Second'
data={this.secondValues}
/>
至
<Dropdown
label='Second'
data={this.state.secondValues}
/>
我的代码有两个来自 "react-native-material-dropdown" 的下拉列表。第一个在开始时填充,第二个必须在第一个下拉列表中选择元素时填充(通过获取 json 数据)。
到目前为止,这是我写的全部内容:
...
import { Dropdown } from 'react-native-material-dropdown';
export default class Example extends Component {
render() {
let firstValues = [{
value: 'AAA',
}, {
value: 'BBB',
}, {
value: 'CCC',
}];
return (
<View>
<Dropdown
label='First'
data={firstValues}
onChangeText={(value)=>{
fetch("...")
.then(response => response.json())
.then((responseJson)=> {
var count = Object.keys(responseJson.myJson).length;
let secondValues = [];
for(var i=0;i<count;i++){
secondValues.push({ value: responseJson.myJson[i].name });
}
this.setState({ secondValues });
})
.catch((error) => {
alert('Error');
});
}}
/>
<Dropdown
label='Second'
data={this.secondValues}
/>
</View>
)
}
}
...
问题是第二个下拉列表永远不会更新,它总是空的。
我仍然是初学者,所以任何帮助将不胜感激。
谢谢
在 Second DropDown 中,您没有正确获取状态值
改变这个
<Dropdown
label='Second'
data={this.secondValues}
/>
至
<Dropdown
label='Second'
data={this.state.secondValues}
/>