我正在使用export class MyPage {
storedArr = [];
constructor(private storage: Storage) {
this.storage.get('stored')
.then(data => {
this.storedArr = data;
});
}
saveToStorage() {
this.storedArr.push({ // .push is not a function
title: 'blabla',
body: 'more blabla'
});
this.storage.set('stored', this.storedArr);
}
}
库,并且尝试使用'react-md'
组件,但是当我为SelectField
发送函数时,选择字段不再按预期更新
onChange
当我没有在handleSelection = (value, index, event, details) => {
// "details.id" is the id of the field which I am using to keep track of state
this.setState({[details.id]: value});
}
render() {
const STRING_SELECTORS = ['At most', 'At least'];
return(
<div>
<SelectField
id="calories-selector"
className="md-cell selector md-cell--5"
menuItems={STRING_SELECTORS}
defaultValue="At most"
onChange={this.handleSelection)
/>
)
}
函数中调用this.setState()
时,菜单会在单击某项时按预期方式更改,但是当我调用setState时,它会延迟更新选择。如果菜单显示“至多”,而我单击“至少”,它将停留在“至多”,然后,如果我单击“至多”,它将然后更改“至少”。
我在输入字段上也遇到了类似的问题,为了解决这个问题,我使用了handleSelection
而不是onBlur
,但是onChange
库的react-md
没有得到以我需要的方式触发。
答案 0 :(得分:0)
您可以使用SelectField
组件的值prop。创建一个状态并将其绑定到SelectField
值道具,并将onChange
事件处的状态更新为所选值。