显示签入反应
display checked in react
当 i 等于 0 时,我正在尝试显示添加已选中的输入
我有一个检查状态,它是一个布尔值
所以我应该得到 checked= true 然后 checked= false
lists.map( ( { names = '' }, i ) => {
if(i === 0) {
setAttributes({checked : true});
}else{setAttributes({checked : false});}
return <Fragment>
<input className="noms" type="radio" id={ i } checked={checked}/>
但是我怎么会被检查="checked"然后什么都没有
这个
<input type="radio" name="vehicle" value="Bike"> I have a bike<br>
<input type="radio" name="vehicle" value="Car" checked="checked"> I have a car<br>
尝试这样的事情:
<input className="noms" type="radio" id={ i } {checked ? 'checked="checked"' : '' />
这会评估您的布尔变量,然后如果检查为真则输出字符串 checked="checked"
,如果检查为假则输出空字符串。 BooleanExpression ? ifTrue : ifFalse
模式称为 ternary operator.
这就是您的 Fragment 中需要的内容:
<input className="noms" type="radio" id={i} checked={checked ? checked : false}/>
您实际上不需要 checked
参数的字符串值。我总是使用布尔值,像这样:
<input className="noms" type="radio" id={i} checked={!!checked}/>
为什么!!
?它会将任何 truthy 值转换为布尔值 true
并将任何 falsy 值转换为布尔值 false
.
此外,您可能需要某个地方的 value
道具。
当 i 等于 0 时,我正在尝试显示添加已选中的输入
我有一个检查状态,它是一个布尔值 所以我应该得到 checked= true 然后 checked= false
lists.map( ( { names = '' }, i ) => {
if(i === 0) {
setAttributes({checked : true});
}else{setAttributes({checked : false});}
return <Fragment>
<input className="noms" type="radio" id={ i } checked={checked}/>
但是我怎么会被检查="checked"然后什么都没有 这个
<input type="radio" name="vehicle" value="Bike"> I have a bike<br>
<input type="radio" name="vehicle" value="Car" checked="checked"> I have a car<br>
尝试这样的事情:
<input className="noms" type="radio" id={ i } {checked ? 'checked="checked"' : '' />
这会评估您的布尔变量,然后如果检查为真则输出字符串 checked="checked"
,如果检查为假则输出空字符串。 BooleanExpression ? ifTrue : ifFalse
模式称为 ternary operator.
这就是您的 Fragment 中需要的内容:
<input className="noms" type="radio" id={i} checked={checked ? checked : false}/>
您实际上不需要 checked
参数的字符串值。我总是使用布尔值,像这样:
<input className="noms" type="radio" id={i} checked={!!checked}/>
为什么!!
?它会将任何 truthy 值转换为布尔值 true
并将任何 falsy 值转换为布尔值 false
.
此外,您可能需要某个地方的 value
道具。