我想对映射的组件做出反应时使用抽象的默认状态值。逻辑是这样的1.参数的json2.将json参数映射到对象3.根据item.value
设置对象的默认值不知道如何做数字3
这里是代码,
function parameterItem(item) {
if(item.type === 'date') {
return <Input type="date" name={ item.name } defaultValue={this.state.[item.value]} id={ item.name} form="form-filter" />
}
}
if(this.props.filter) {
parameters = this.props.filter.map((item, id) => {
if (Object.keys(item).length > 0) {
return <Col xs='12' key={id} hidden={ !item.visible }>
<Row className="form-spacing-top">
<Col xs='3'>
<p>{ item.caption }</p>
</Col>
<Col xs='9'>
{ parameterItem(item) }
</Col>
</Row>
</Col>
} else return null
});
}
您的意思是说您在某个文件的某处具有这样的映射:
mapping_constants.js:
default_value_mappings = {
"value1": "Some Value1",
...
...
"valueN":"Some Value N"
}
可以映射为:
componentDidMount(){
this.setState({"defaults":default_value_mappings})
}
function parameterItem(item) {
if(item.type === 'date') {
return <Input type="date" name={ item.name } defaultValue={this.state.defaults[item.value]} id={ item.name} form="form-filter" />
}
}
我问对了吗?