我在反应语义ui中有一组3个单选按钮。
这工作正常。问题出现在UI错误中,当我点击其中一个单选按钮时,没有选中按钮。
ui bug的屏幕截图:
有人知道为什么不检查按钮?
单选按钮代码:
<Form>
<Form.Field>
<Radio
label="New Claims"
name="isTransferred"
value={false}
checked={isTransferred === false}
onChange={this.handleFilterChanged}
/>
</Form.Field>
<Form.Field>
<Radio
label="Transferred Claims"
name="isTransferred"
value={false}
checked={isTransferred === true}
onChange={this.handleFilterChanged}
/>
</Form.Field>
<Form.Field>
<Radio
label="New Claims and Trasferred Claims"
name="isTransferred"
value={'all'}
checked={isTransferred === 'all'}
onChange={this.handleFilterChanged}
/>
</Form.Field>
</Form>
更新:
从浏览器中生成的HTML:
<div class="row">
<form class="ui form" style="padding-left: 3.3em;">
<div class="field">
<label>Assignments:</label>
</div>
<div class="field">
<div class="ui radio checkbox">
<input type="radio" class="hidden" name="isTransferred" readonly="" tabindex="0" value="false">
<label>New Claims</label>
</div>
</div>
<div class="field">
<div class="ui checked radio checkbox">
<input type="radio" class="hidden" name="isTransferred" readonly="" tabindex="0" value="true">
<label>Transferred Claims</label>
</div>
</div>
<div class="field">
<div class="ui radio checkbox">
<input type="radio" class="hidden" name="isTransferred" readonly="" tabindex="0" value="all">
<label>New Claims and Trasferred Claims</label>
</div>
</div>
</form>
标签必须具有“for”属性,以便输入元素对其标签上的单击作出反应。
“for”属性的值必须是input元素的“id”。
我相信如果你将“id”属性添加到Radio元素,它应该可以工作。
更多信息可以在这里找到:HTML element
尝试添加checked = true
而不是checked={isTransferred === false}
,并尝试在label
中插入value
的值