我正在用流星,react和语义UI构建一个应用程序。我是这些框架/库中的新手。阅读文档后,我仍然不明白如何将重点放在组件上,因为有人说您不能做到这一点,其他人说您可以,但他们的榜样对我不起作用。在下面的示例中,options
定义为常数,并从另一个文档导入,并且changeHospital
&changeActivity
功能只需将hospital
和activity
的状态与data.value
设置为:
<Form.Field
label='Hospital'
control={Select}
fluid
search
value={this.state.hospital}
placeholder='Select hospital'
options={hospitals}
onChange={this.changeHospital}
/>
<Form.Field
label='Activity'
control={Select}
search
fluid
value={this.state.app}
placeholder='Select activity'
options={apps}
onChange={this.changeActivity}
/>
我想要什么?
提交第一个字段后,我想自动更改对下一个字段的焦点,而无需按TAB键或使用鼠标光标选择。
以后编辑
如果您能比我更多的了解,则可以阅读:https://github.com/semantic-org/semantic-ui-react/blob/master/master/master/src/modules/dropdown/dropdown.js
他们说:
/** A dropdown can receive focus. */
tabIndex: PropTypes.oneOfType([
PropTypes.number,
PropTypes.string,
]),
免责声明:我不知道语义-UI反应,但我确实知道反应,所以这是基于您如何用正常的反应输入来解决它的猜测。
// Add ref to the field you want to focus
<Form.Field
ref="activityField"
label="Activity"
control={Select}
search
fluid
value={this.state.app}
placeholder="Select activity"
options={apps}
onChange={this.changeActivity}
/>
// Update function from previous input
changeHospital() {
... // do what you already do, then change focus
this.refs.activityField.focus()
}
在React输入上调用.focus()
将其集中在此方面,但是Form.Field
可能无法处理.focus()
,在这种情况下它不起作用。