reactjs - 在选择标签中添加默认值选项
问题描述
我在我的应用程序中使用了一个选择标签:
<Select
showSearch={false}
defaultValue={["Lucy"]}
mode="multiple"
style={{ width: 200 }}
placeholder="Select a person"
optionFilterProp="children"
onChange={onChange}
onFocus={onFocus}
onBlur={onBlur}
onSearch={onSearch}
filterOption={(input, option) =>
option.children.toLowerCase().indexOf(input.toLowerCase()) >= 0
}
>
<Option value="jack">Jack</Option>
<Option value="lucy">Lucy</Option>
<Option value="tom">Tom</Option>
</Select>,
document.getElementById("container")
所以,当我第一次打开这个下拉菜单时,我想像在图像中那样选择一个默认值。我试过defaultValue
了,但它不像我描述的那样工作。那么,如何实现我上面描述的?
演示:https ://codesandbox.io/s/select-with-search-field-ant-design-demo-4f9op?file=/index.js:410-955
解决方案
您提供['Lucy']
(大写)作为默认值,但选项中提供的值是 'lucy'、'jack' 和 'tom' 全部小写。这就是为什么Select
将默认值视为另一个值的原因。
解决方案要么提供与选项中使用的默认值相同的默认值,defaultValue={["lucy"]}
要么使用大写的值,Option
如果您希望 defaultValue 也为大写。
<Select
showSearch={false}
defaultValue={["lucy"]}
mode="multiple"
style={{ width: 200 }}
placeholder="Select a person"
optionFilterProp="children"
onChange={onChange}
onFocus={onFocus}
onBlur={onBlur}
onSearch={onSearch}
filterOption={(input, option) =>
option.children.toLowerCase().indexOf(input.toLowerCase()) >= 0
}
>
<Option value="jack">Jack</Option>
<Option value="lucy">Lucy</Option>
<Option value="tom">Tom</Option>
</Select>,
document.getElementById("container")
Codesandbox 演示,codesandbox
推荐阅读
- php - 在两列中查找两个值
- swift - SwiftUI 小部件不刷新
- python - 在 x 轴上偏移绘图跟踪
- facebook-graph-api - share_open_graph 未采用动态 OG 标签链接或图像
- intellij-idea - 任何 JetBrains IDE:如何将 Ctrl + 鼠标滚轮映射到 Page Up/Down 操作?
- aws-lambda - 无服务器域管理器错误:无法获取有关 uat-api.mydomain.com 的信息
- mysql - SQL 错误 [1038] [HY001]: Out of sort memory, 请考虑增加服务器排序缓冲区大小
- javascript - 日期轴上的 Amcharts 4 错误
- python - 根据条件将包含列表的列拆分为 Pandas 中的多行
- python - 将每个键的第二个值除以字典中每个键的第一个值