微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Material Autocomplete - auto selecting an option when options change.反应

如何解决Material Autocomplete - auto selecting an option when options change.反应

我正在尝试让 Material Autocomplete 自动选择我最初加载的选项,但遇到了一些问题。我对 React 非常陌生,所以可能在做一些根本性的错误,但我的代码基本上就是这样做的。

export default function AsyncPicker({name,formik,initialOptions = []}) {
    const [options,setoptions] = useState(initialOptions);

    useEffect(() => {
        setoptions(initialOptions);
    },[initialOptions])

   return (
       <Autocomplete
           ....otherProps
           options={options}
           value={{id:formik.values[name]}}
           getoptionSelected={(option,value) =>  option.id === value.id}
       />
   )
}

选项在键入时异步加载,但对于初始选项,我想根据记录的值加载单个选项。 从父组件,我正在渲染 Autocomplete,它最初为它的 initialOptions 获取一个认的空数组。当为给定记录异步加载数据时,initialOptions 会更新以反映加载的记录的值。子控件中的选项会更新并呈现选项,但不会自动选择。

getoptionSelected 会在 initialOptions 被更新并且选项和值的 id 匹配时触发,那么为什么它没有被选中?

正如我所说,很高兴被告知我做错了,因为两周前从未写过一行反应。

解决方法

 return (
       <Autocomplete
           ....otherProps
           options={options}
           value={{id:formik.values[name]}}
           getOptionSelected={(option,value) => formik.setFieldValue(option.id === value.id)}
       />
   )

像这个答案一样将 onChange 函数绑定到 formik 的 setFieldValue 函数?

Using Material-UI's Autocomplete component with Formik

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?