input中如何使用if?
How to use if in input?
当我有 props.a 时,如何设置 'checked'?我看不懂怎么写,像这样:
<input if (props.a > x) {checked='checked'}/>
我尝试了 <input {props.a > x ? 'checked' : ''}/>
,但出现错误
你应该使用 <input checked={ (props.a > x) } />
.
您可以将 checked 分配给状态值并在 componentWillReceiveProps
函数中控制此状态,因为它会在 props 更改时调用
喜欢
componentWillReceiveProps(nextProps) {
if(nextProps.a > x) {
this.setState({checked: 'checked'});
}
}
<input checked={this.state.checked}/>
否则你可以 return 一个值直接放在像
这样的道具中
<input checked={(props.a > x)? 'checked': null}}/>
class App extends React.Component {
render() {
var a = 10;
var x = 9;
return (
<div>
<input type="checkbox" checked={(a > x)? 'checked': null}/></div>
)
}
}
ReactDOM.render(<App/>, document.getElementById('app'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="app"></div>
当我有 props.a 时,如何设置 'checked'?我看不懂怎么写,像这样:
<input if (props.a > x) {checked='checked'}/>
我尝试了 <input {props.a > x ? 'checked' : ''}/>
,但出现错误
你应该使用 <input checked={ (props.a > x) } />
.
您可以将 checked 分配给状态值并在 componentWillReceiveProps
函数中控制此状态,因为它会在 props 更改时调用
喜欢
componentWillReceiveProps(nextProps) {
if(nextProps.a > x) {
this.setState({checked: 'checked'});
}
}
<input checked={this.state.checked}/>
否则你可以 return 一个值直接放在像
这样的道具中<input checked={(props.a > x)? 'checked': null}}/>
class App extends React.Component {
render() {
var a = 10;
var x = 9;
return (
<div>
<input type="checkbox" checked={(a > x)? 'checked': null}/></div>
)
}
}
ReactDOM.render(<App/>, document.getElementById('app'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="app"></div>