Reactjs — всплывающая подсказка MUI HTML не работает с динамическим содержимым HTML

Я использую настроенный 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 в вашем примере? Вы можете создать codeandbox с вашим кодом?

Sabbin 21.02.2023 10:39

Я обновил свой вопрос относительно HtnlTooltip . мы можем это стилизованный компонент. также объясняется здесь mui.com/material-ui/react-tooltip

Ram Chander 21.02.2023 11:08

Код санбокса @Sabbin добавлен в вопрос.

Ram Chander 21.02.2023 14:20
Laravel с Turbo JS
Laravel с Turbo JS
Turbo - это библиотека JavaScript для упрощения создания быстрых и высокоинтерактивных веб-приложений. Она работает с помощью техники под названием...
Слишком много useState? Давайте useReducer!
Слишком много useState? Давайте useReducer!
Современный фронтенд похож на старую добрую веб-разработку, но с одной загвоздкой: страница в браузере так же сложна, как и бэкенд.
Типы данных JavaScript
Типы данных JavaScript
В JavaScript существует несколько типов данных, включая примитивные типы данных и ссылочные типы данных. Вот краткое объяснение различных типов данных...
CSS Flex: что должен знать каждый разработчик
CSS Flex: что должен знать каждый разработчик
CSS Flex: что должен знать каждый разработчик Модуль flexbox, также известный как гибкий модуль разметки box, помогает эффективно проектировать и...
Введение в раздел &quot;Заголовок&quot; в HTML
Введение в раздел "Заголовок" в HTML
Говорят, что лучшее о человеке можно увидеть только изнутри, и это относится и к веб-страницам HTML! Причина, по которой некоторые веб-страницы не...
Как React Helmet спасает меня при разделении файлов CSS?
Как React Helmet спасает меня при разделении файлов CSS?
Многие новички могут столкнуться с проблемой, когда одна страница с CSS наследует свойства от другой страницы с другим CSS. У меня было много проблем,...
1
3
54
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

У меня нет опыта работы со стилизованным интерфейсом материалов, но это сработало 😅:

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 21.02.2023 18:48

@Sabbin Утилита styled() позволяет добавлять динамические стили на основе свойств компонента. Вы можете сделать это с помощью динамических CSS или переменных CSS. Больше вы можете получить здесь mui.com/material-ui/customization/how-to-customize

Ram Chander 21.02.2023 18:59

@paulo я был близок. Спасибо за помощь. (у)

Ram Chander 21.02.2023 19:03

Я знаю, что он делает, мне было интересно, почему ОП использует его в этом контексте. он ничего не стилизует в ADJUSTMENT_HELP_TEXT const. Он просто возвращает завернутый компонент ни с чем

Sabbin 22.02.2023 08:47

Другие вопросы по теме