输入“ReactI18NextChildren | Iterable<ReactI18NextChildren>' 不可分配给类型 'ReactNode'

问题描述 投票:0回答:1

我正在按照此链接来实施反应材料

Autocomplete

我使用

renderInput
的方式与文档中描述的方式相同

renderInput={(params: AutocompleteRenderInputParams) => (
            <TextField
                {...params}
                placeholder="Sections"
                label='Nil Sections'
            />
        )}

但是我在

TextField

上收到此错误
Type '{ placeholder: string; label: string; id: string; disabled: boolean; fullWidth: boolean; size: "small" | undefined; InputLabelProps: Omit<HTMLAttributes<HTMLLabelElement>, "color">; InputProps: { ...; }; inputProps: InputHTMLAttributes<...> & { ...; }; }' is not assignable to type 'Omit<FilledTextFieldProps | OutlinedTextFieldProps | StandardTextFieldProps, "variant">'.
  The types of 'InputLabelProps.children' are incompatible between these types.
    Type 'ReactI18NextChildren | Iterable<ReactI18NextChildren>' is not assignable to type 'ReactNode'.
      Type 'Record<string, unknown>' is not assignable to type 'ReactNode'.
        Type 'Record<string, unknown>' is missing the following properties from type 'ReactPortal': children, type, props, key

完整错误是这样的

而且我确切地知道哪一行导致了它,这就是导致它的行,因为当我将其从

TextField
中删除时,错误消失了,但随后
Autocomplete
不起作用

{...params}

我不确定为什么它会导致任何问题,我按照原样遵循文档并且不更改任何内容。

我收到的错误是说它期望的类型不是它返回的类型,因为

AutocompleteRenderInputParams
,这些属性在渲染标签控件中不期望,但如果我们不提供这些属性,它甚至不起作用.

有线索吗?

reactjs material-ui autocomplete
1个回答
0
投票

终于找到解决办法了。

所以我尝试的是,而不是添加整个

params
,我开始逐一添加参数,直到此时它开始完美工作。

所以我从

params
替换了这些,现在它就像一个魅力

id={params.id}                                           
inputProps={params.inputProps}                                                       
InputProps={params.InputProps}

通过这种方式,我还可以找出导致问题的确切参数,因此对于我的情况来说,这就是导致问题的参数

InputLabelProps={params.InputLabelProps}
© www.soinside.com 2019 - 2024. All rights reserved.