响应'ItemData'将有n个字段,我想检索特定字段,例如' itemno '并将其设置为'ItemData'。而不是整个响应。这样我就可以在autocomplete的getOptionLabel中使用它。因为我想设置'option =>选项'而不是' Option =>选择。
onChangeInputItemNo = value => {
getItem(value).then(
(response) => {
if (response.ok) {
response.json()
.then((responseData) => {
console.log(responseData);
console.log("hi");
this.setState({
isLoading: false,
ItemData: responseData
})
});
}
})
}
我将从子组件传递初始值到自动完成框,我也希望自动完成正常工作,如果值需要改变。所以我喜欢保持getOptionLabel为'选项'而不是'option. specficfieldname '。
<Autocomplete
value={this.state.fromChild}
options={this.state.ItemData}
getOptionLabel={option => option}
onChange={this.onChangeItemNo}
renderInput={params => (
<TextField {...params} onChange={e => this.onChangeInputItemNo(e.target.value)} fullWidth />
)}
/>
如果你关心的是ItemNo
在你的responseData…
onChangeInputItemNo = value => {
getItem(value).then((response) => {
if (response.ok) {
response.json().then(
(responseData) => {
this.setState({
isLoading: false,
ItemData: responseData?.ItemNo})
});
}
})
}