材质自动完成不适用于 InputProps

Posted

技术标签:

【中文标题】材质自动完成不适用于 InputProps【英文标题】:Material Autocomplete does not work with InputProps 【发布时间】:2020-03-06 13:11:43 【问题描述】:

我正在尝试更改通过我的Autocomplete 呈现的TextField 的边框,但是当我添加InputProps 道具时,Autocomplete 不再呈现Chips

<Autocomplete
    multiple
    freeSolo
    options=options
    renderTags=(value,  className, onDelete ) =>
        value.map((option, index) => (
            <Chip
                key=index
                variant="outlined"
                data-tag-index=index
                tabIndex=-1
                label=option
                className=className
                color="secondary"
                onDelete=onDelete
            />
        ))
    
    renderInput=(params) => (
        <TextField
            ...params
            id=id
            className=textFieldStyles.searchField
            label=label
            value=value
            onChange=onChange
            variant="outlined"
            //InputProps=
            //     classes: 
            //         input: textFieldStyles.input,
            //         notchedOutline: textFieldStyles.notchedOutline
            //     
            //
            InputLabelProps=
                classes: 
                    root: textFieldStyles.label
                
            
        />
    )
/>

上面的代码有效,一旦我取消注释InputProps行,输入不再渲染Chip s,选择或输入项目时。

谢谢

【问题讨论】:

【参考方案1】:

这是因为 InputProps 属性覆盖了 params 的 InputProps 参数,你必须合并 params 的 InputProps 属性:

InputProps=
    ...params.InputProps,
    classes: 
        input: textFieldStyles.input,
        notchedOutline: textFieldStyles.notchedOutline
    

【讨论】:

以上是关于材质自动完成不适用于 InputProps的主要内容,如果未能解决你的问题,请参考以下文章

设置 TextField InputProps 时,Material-UI 自动完成功能不起作用

jquery自动完成不适用于JSON数据

为啥 PyCharm 的自动完成功能不适用于我安装的库?

jQuery .val() 不适用于 jQueryUI 自动完成功能

如何将自动完成添加到动态添加的输入字段?自动完成功能不适用于动态添加的输入字段

自动完成功能不适用于新的 SWIFT 文件/类