Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么不使用react和javascript将值传递给Select组件?_Javascript_Reactjs - Fatal编程技术网

为什么不使用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',}