Я использую настроенный HTML MUI Tooltip. Он работает со статическим контентом. Я хочу сделать его динамичным. Он не работает с динамическим html-контентом.
Я пытаюсь следующим образом.
const ADJUSTMENT_HELP_TEXT = styled(()=>(
<Typography component = "div">
<em>Adjustments can be added as following.</em>
<ul><li>You can include previous due amount.</li><li>You can exlude amount.</li><li>You can add Waive-Off etc.</li></ul>
</Typography>
))
const HtmlTooltip = styled(({ className, ...props }) => (
<Tooltip {...props} classes = {{ popper: className }} />
))(({ theme }) => ({
[`& .${tooltipClasses.tooltip}`]: {
backgroundColor: '#f5f5f9',
color: 'rgba(0, 0, 0, 0.87)',
maxWidth: 220,
fontSize: theme.typography.pxToRem(12),
border: '1px solid #dadde9',
},
}));
return <>
<HtmlTooltip
title = {<Fragment>{<ADJUSTMENT_HELP_TEXT />}</Fragment>}>
<HelpTwoToneIcon />
</HtmlTooltip>
</>
ОБНОВЛЯТЬ
Он отлично работает, если я предпочитаю статический контент следующим образом:
<HtmlTooltip
title = {<Fragment>
<Typography component = "div">
<em>Adjustments can be added as following.</em>
<ul><li>You can include previous due amount.</li><li>You can exlude amount.</li><li>You can add Waive-Off etc.</li></ul>
</Typography>
</Fragment>}>
<HelpTwoToneIcon />
</HtmlTooltip>
Я хочу сделать контент динамичным.
MUI Refr. Так выглядит на MUI здесь
Вот песочница
Я обновил свой вопрос относительно HtnlTooltip . мы можем это стилизованный компонент. также объясняется здесь mui.com/material-ui/react-tooltip
Код санбокса @Sabbin добавлен в вопрос.
У меня нет опыта работы со стилизованным интерфейсом материалов, но это сработало 😅:
Https://codesandbox.io/s/jolly-shockley-t1z6t0?file=/demo.js
const ADJUSTMENT_HELP_TEXT = styled(() => (
<Typography component = "div">
<em>Adjustments can be added as following.</em>
<ul>
<li>You can include previous due amount.</li>
<li>You can exlude amount.</li>
<li>You can add Waive-Off etc.</li>
</ul>
</Typography>
))(); //just added the ()
Зачем вам здесь стиль? кажется, это ничего не стилизует
@Sabbin Утилита styled() позволяет добавлять динамические стили на основе свойств компонента. Вы можете сделать это с помощью динамических CSS или переменных CSS. Больше вы можете получить здесь mui.com/material-ui/customization/how-to-customize
@paulo я был близок. Спасибо за помощь. (у)
Я знаю, что он делает, мне было интересно, почему ОП использует его в этом контексте. он ничего не стилизует в ADJUSTMENT_HELP_TEXT const. Он просто возвращает завернутый компонент ни с чем
Что такое компонент HtnlTooltip в вашем примере? Вы можете создать codeandbox с вашим кодом?