这是我使用react-bootstrap渲染Dropdown菜单的代码,
render(){ return( <SplitButton title={this.state.title}> {Object.keys(dict).map(key => <MenuItem id={dict[key]} key={dict[key]} href={`#${dict[key]}`} onSelect={() => this.onTargetSelect(key,dict[key])}>{key}</MenuItem>)} </SplitButton> ); }
我收到以下错误,
Failed propType: The prop `id` is required to make `Dropdown` accessible for users of assistive technologies such as screen readers. Check the render method of `Uncontrolled(Dropdown)`.
我没有id propType.
我究竟做错了什么?
解决方法
dropDowns需要一个有效的id,因为它是组件所需的prop.
ref:https://react-bootstrap.github.io/components.html#btn-dropdowns-props
为组件提供id.它会工作正常.
<SplitButton bsstyle={title.toLowerCase()} title={title} key={i} id={exampleId}> <MenuItem eventKey="1">Action</MenuItem> <MenuItem eventKey="2">Another action</MenuItem> <MenuItem eventKey="3">Something else here</MenuItem> <MenuItem divider /> <MenuItem eventKey="4">Separated link</MenuItem> </SplitButton>