Reactjs 使用道具的值确定要显示的内容
如果reasonId=2,我试图显示一个必需的textfield,否则如果reasonId为 任何其他号码。我如何使用if语句或任何更短的方式来编写它Reactjs 使用道具的值确定要显示的内容,reactjs,Reactjs,如果reasonId=2,我试图显示一个必需的textfield,否则如果reasonId为 任何其他号码。我如何使用if语句或任何更短的方式来编写它 <div className='row'> <div className='col-xs-12'> {props.selectedReason.reasonId === 2 && <TextField
<div className='row'>
<div className='col-xs-12'>
{props.selectedReason.reasonId === 2 &&
<TextField
required
multiline
className='text-area'
fullWidth
value={props.selectedReason.reason}
onChange={event => {
props.handleChangeReason({
...props.selectedReason,
reason: event.target.value
});
}}
/>
}
</div>
</div>
{props.selectedReason.reasonId==2&&
{
道具。手柄更换原因({
…道具。选择原因,
原因:event.target.value
});
}}
/>
}
您可以将其提取到函数中
_text = () => {
if (props.selectedReason.reasonId === 2) {
return (
<TextField
required
multiline
className='text-area'
fullWidth
value={props.selectedReason.reason}
onChange={event => {
props.handleChangeReason({
...props.selectedReason,
reason: event.target.value
});
}}
/>
)
}
return null
}
<div className='row'>
<div className='col-xs-12'>
{this._text()}
</div>
</div>
\u text=()=>{
if(props.selectedReason.reasonId==2){
返回(
{
道具。手柄更换原因({
…道具。选择原因,
原因:event.target.value
});
}}
/>
)
}
返回空
}
{this._text()}
我如何使用if语句或任何更短的方式来编写它
<div className='row'>
<div className='col-xs-12'>
{props.selectedReason.reasonId === 2 &&
<TextField
required
multiline
className='text-area'
fullWidth
value={props.selectedReason.reason}
onChange={event => {
props.handleChangeReason({
...props.selectedReason,
reason: event.target.value
});
}}
/>
}
</div>
</div>
如果你想要一个稍微清晰一点的方法,你可以这样做
const content = props.selectedReason.reasonId === 2 ?
<TextField ... /> :
null;
return (
<div className='row'>
<div className='col-xs-12'>{content}</div>
</div>
);
要有条件地为文本字段设置必填字段,请执行以下操作:
<div className='row'>
<div className='col-xs-12'>
{props.selectedReason.reasonId === 2 &&
<TextField
required={props.selectedReason.reasonId === 2}
multiline
className='text-area'
fullWidth
value={props.selectedReason.reason}
onChange={event => {
props.handleChangeReason({
...props.selectedReason,
reason: event.target.value
});
}}
/>
}
</div>
</div>
{props.selectedReason.reasonId==2&&
{
道具。手柄更换原因({
…道具。选择原因,
原因:event.target.value
});
}}
/>
}
代码段:
类应用程序扩展了React.Component{
建造师(道具){
超级(道具);
此.state={
必填项:true
}
this.makeRequired=this.makeRequired.bind(this);
this.submitForm=this.submitForm.bind(this);
}
makeRequired(事件){
event.preventDefault();
this.setState(prevState=>({
必需:!prevState.required
}));
}
提交表单(事件){
//event.preventDefault();
}
render(){
返回(
提交
将{this.state.required&'Not'}设为required
);
}
}
render(,document.getElementById(“根”))代码>
react文档就是这么建议的,我认为没有理由改变我不明白你的意思。必须有一种方法可以使用if语句来编写。在这里读这份文件