问题问题 - 我有一个表格。表单具有可编辑和不可编辑的状态,这使得输入框可以进行编辑。现在,这个特定的输入框必须根据它所处的状态显示不同的值。即,如果它不在可编辑状态,它必须显示2016年11月27日'如果可编辑状态,它必须显示' 27/11/2016'。
问题是,当我尝试编辑此输入框时,请删除预先定义的值' 27/11/2016'这是行不通的。我认为用函数绑定函数是不可能的。
我尝试了什么 -
function showDate() {
if(!this.props.isEdit){
return longDate();
}
return shortDate();
}
<input
id='test'
value={this.showDate()}
onChange={this.props.onInputChange}
readOnly={!this.props.isEdit}
/>
有人可以就此提出建议吗?
更新:我有一个具有功能onInputChange
的组件,当表单处于编辑模式时,我想在输入框内显示不同的内容。
答案 0 :(得分:0)
您应该使用state
代替props
进行输入更改,如下所示
function onInputChange() {
if(!this.props.isEdit){
this.setState({
date: longDate()
});
return;
}
this.setState({
date: shorDate()
});
}
<input
id='test'
value={this.state.date}
onChange={onInputChange}
readOnly={!this.props.isEdit}
/>