我想创建一个完全受控的下拉列表,以便使用react-window显示其中很长的项目列表。
我已经检查了文档,并且没有指定Dropdown.Item
的受控下拉列表的任何示例。
这就是我的组件的样子:
<Dropdown
placeholder="Filter Posts"
clearable={true}
search={true}
onChange={this.handleChange}
text={tagOptions[1].value}
value={tagOptions[1].value}
onSearchChange={this.handleChange}
>
<Dropdown.Menu>
{tagOptions.map(option => (
<Dropdown.Item key={option.value} {...option} onClick={this.handleItemClick} />
))}
</Dropdown.Menu>
</Dropdown>;
我遇到过两个问题:
options
属性它将找不到给定的值,因此,它将不会显示。我可以使用text
属性,但它似乎是一个黑客。handleItemClick
,我看到original handleItemClick中有逻辑。有什么建议?我错过了什么吗?
我可以通过在下拉列表上使用ref并传递原始的handleItemClick
方法来破解它。
现在唯一的缺点是键盘导航不起作用:\
似乎它不是为完全控制而设计的。
clearable={true}
和text={tagOptions[1].value}
handleItemClick
功能应该做什么?