我有一个自动完成组件,可呈现标签 Autocomplete with tags
,我想渲染一个左图标 但只有正确的图标可以正常工作
当前行为
添加左侧图标时,它会显示该图标,但不允许在textField内部呈现标签
预期行为
添加左图标时,应该让其在textField内部呈现标签
复制步骤:
添加结束图标时可以使用:
const renderInput = (params: Params): ReactNode => {
if (leftIcon) params.InputProps.endAdornment = <InputAdornment position="end">{leftIcon}</InputAdornment>;
return <TextField {...params} variant="outlined" placeholder={getPlaceHolderText()} />;
};
添加开始图标时不起作用
const renderInput = (params: Params): ReactNode => {
if (leftIcon) params.InputProps.startAdornment = <InputAdornment position="start">{leftIcon}</InputAdornment>;
return <TextField {...params} variant="outlined" placeholder={getPlaceHolderText()} />;
};
答案 0 :(得分:0)
问题是因为标签在startAdornment
内部呈现,
当您将startAdornment
设置为等于图标时
它会删除标签。
因此您可以将startAdornment
设置为空的htmlTag
(<>
),并在其中显示相关组件以及startAdornment
的先前内容
例如:它对我有用
const renderInput = (params: Params): ReactNode => {
if (leftIcon)
params.InputProps.startAdornment = (
<>
<InputAdornment position="start">{leftIcon}</InputAdornment>
{params.InputProps.startAdornment}
</>
);
return <TextField {...params} variant="outlined" placeholder={getPlaceHolderText()} />;
};