为什么不使用react和javascript将值传递给Select组件?
我有一个用于创建和编辑模式的组件子级。它的选择菜单在用户在创建模式下从选择菜单中选择一个选项之前不显示任何值 在编辑模式下,此选择菜单应显示以前选择的选项 下面是我的代码为什么不使用react和javascript将值传递给Select组件?,javascript,reactjs,Javascript,Reactjs,我有一个用于创建和编辑模式的组件子级。它的选择菜单在用户在创建模式下从选择菜单中选择一个选项之前不显示任何值 在编辑模式下,此选择菜单应显示以前选择的选项 下面是我的代码 const Child = (mode: mode, formikBag: formikBag) => { const handleValue = (field) => { if (mode === 'edit') { const selectedId = formi
const Child = (mode: mode, formikBag: formikBag) => {
const handleValue = (field) => {
if (mode === 'edit') {
const selectedId = formikBag.values[itemId];
const selectedItems = allItems.filter((item) => item.id ===
itemId;
return selectedItem[0].name;
}
return allItems.filter((option) => option.value === field.value);
//should be returned in create mode
return(
<Select
value={handleValue}
/>
);
}
const Child=(模式:模式,formikBag:formikBag)=>{
常量handleValue=(字段)=>{
如果(模式=='edit'){
const selectedId=formikBag.values[itemId];
const selectedItems=allItems.filter((项)=>item.id==
itemId;
返回selectedItem[0]。名称;
}
返回allItems.filter((option)=>option.value==field.value);
//应在创建模式下返回
返回(
);
}
上面的代码在编辑或创建模式下没有显示任何值。不确定出了什么问题。我是新手
有人能帮我吗?谢谢。
handleValue
是一个函数,您需要执行它才能获得传递的返回值
<Select value={() => handleValue(yourFieldHere)} />
handleValue
是一个函数,您需要执行它才能获得向下传递的返回值
<Select value={() => handleValue(yourFieldHere)} />
您是否尝试过
value={()=>handleValue('fieldName')}
?您是否尝试过value={()=>handleValue('fieldName')}
?由于某种原因,它没有执行handleValue方法。在它开始执行handleValue后,我有一些日志语句。它没有日志them@stackuser您使用哪种方式?在Select
或在Select
内部执行函数?在执行内部Select时在选择内部执行函数e> ,您仍然需要从父级传递函数。您是如何将函数传递到Select
?我看到Select组件的值的形式为{label:'something',value:'value',}由于某种原因,它没有执行handleValue方法。当它开始执行handleValue时,我有一些日志语句。它没有日志them@stackuser您使用的是哪种方式?在Select
上执行函数还是在Select
内部执行函数?在选择内部执行函数当您在Select
内部执行时,您将直到需要从父级传递函数为止。您是如何将函数传递到Select
?我看到Select组件的值的形式为{label:'something',value:'value',}