javascript - React Select defaultValue 已设置但未出现
问题描述
我什至尝试过手动设置文档中的默认值,但没有骰子。我不确定这是样式问题还是什么。所以下面我发布了我的截图和截图。
<Select
components={animatedComponents}
getOptionLabel={convertToLabel}
getOptionValue={option => option.resource_name}
isMulti
onChange={changeEvent}
options={users}
theme={theme => ({
...theme,
borderRadius: 0
})}
defaultValue={(props.value || []).map(convertToValue)}
value={(props.value || []).map(convertToValue)}
/>
convertToValue
功能
const convertToValue = props => {
return {
label: `${props.name} ${props.family_name}`,
value: props.resource_name
};
};
转换标签函数
const convertToLabel = props => {
return `${props.name} ${props.family_name}`;
};
changeEvent
功能
const changeEvent = (selectedOption, i) => {
let option = {
name: "reviewers",
value: selectedOption
};
update({ target: option });
};
用户和道具对象
users:
[
{
resource_name: "facebook_user1",
name: "Joe",
family_name: "Dirt"
},
{
resource_name: "facebook_user2",
name: "Trident",
family_name: "White"
}
]
props:
{
field: "placeholder",
fieldType: "placeholderType"
value:[
{
resource_name: "facebook_user1",
name: "Joe",
family_name: "Dirt"
},
{
resource_name: "facebook_user2",
name: "Trident",
family_name: "White"
}
]
}
我在屏幕上看到的。
解决方案
如果没有看到您选择的渲染器的实际 JSX,很难准确地判断您的问题是什么。以下是我看到的一些问题,看着你的问题,以及对可能发生的事情的一些艰难猜测。
- 您应该向我们展示您的 Select 实现的完整 JSX 渲染
- 你从来没有向我们展示你的
defaultValue
道具是什么样子,但请记住,value
它应该等于你option
的一个,而不仅仅是一个option
“价值” - 您的标签和选项 getter 方法签名应该是
getOptionLabel = (option) => string
andgetOptionValue = (option) => string
。在您的实例中,您使用props
了可能与父范围冲突的 。 - 您可能希望您的
convertToValue
方法签名也与那些一致。 - 您的
onChange
事件方法签名与 React-Select 不一致,可能会给您带来痛苦。有关此问题的帮助,请参阅我对这个最近的问题的回答。
推荐阅读
- vb.net - VB.net 检查文本文档中的项目并查看它是否在文件夹中
- c# - 使用带有实体框架的 nlog 值不在预期范围内
- python - 如何更改函数参数的顺序
- html - 必须调整窗口大小才能使其正常工作
- android - Android 导航组件 - OnNavigateUpListener
- reactjs - 如何在 react tsx 导入中包含命名空间?
- opencv - opencv detectmultiscale3中levelweights的值范围是多少?
- android - 菜单项在 2 个不同的适配器上表现不同
- flutter - 如何在 Ubuntu 的 vscode 中设置颤振应用程序并设置模拟器?
- javascript - 将元素推入for循环内的数组中