Добавление HTML-элемента внутрь объекта

Я использую это состояние массива для отображения информации в таблице:

Как видите, мне нужно поместить кнопку копирования в каждую строку таблицы, но я попытался вставить HTML непосредственно в сам объект, но это не удалось:

Что я могу сделать, чтобы эта кнопка копирования отображалась в каждой строке таблицы?
Заранее спасибо.

Компонент таблицы преобразует значение столбца в строку. Какую библиотеку вы используете для рендеринга таблицы?

uke 12.12.2020 05:21

Я использую MaterialUI DataGrid

evilworld 12.12.2020 05:31

Посмотрите этот ответ stackoverflow.com/questions/64331095/… о том, как реализовать пользовательский рендеринг ячеек

uke 12.12.2020 05:35

добавить образец кода в codeandbox для отладки — это здорово.

A.R.SEIF 12.12.2020 08:32

Вы можете мне помочь? Я не понял, как это сделать с ответом @uke, вот коды и коробка: codeandbox.io/s/wizardly-worker-t3yzd?file=/src/App.js

evilworld 12.12.2020 14:33
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
5
455
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Этот:

renderCell: (ValueFormatterParams) => {
  <a href = "#">Oi </a>; // you are missing return statement
}

должно быть:

renderCell: (ValueFormatterParams) => {
  return (<a href = "#">Oi </a>); 
}

или:

 renderCell: (ValueFormatterParams) => ( <a href = "#">Oi </a>)

Обновлено: Получение данных из строки:

  copyHanle = (item) => {
    console.info(item);
  }
  
  //...
  render() {
   const columns = [
      //...
      renderCell: (ValueFormatterParams) => {
         const {row} = ValueFormatterParams;
         return (
            <CopyToClipboard
              text = {row.name}
              onCopy = {() => this.setState({ copied: true })}
             >
             <button>Copy</button>
          </CopyToClipboard>)
    }
   ]
   //...
  }

См.: https://material-ui.com/components/data-grid/rendering/#render-cell

Я рад помочь.

lissettdm 13.12.2020 01:39

не могли бы вы помочь мне еще с одной вещью? Я пытаюсь отобразить кнопку в каждой строке, чтобы скопировать никнейм пользователя строки, но у меня проблемы, потому что все кнопки отображаются в каждой строке, как вы можете видеть здесь: codeandbox.io/s /wizardly-worker-t3yzd?file=/src/App.js Я тоже пытался использовать forEach, но это не сработало Заранее спасибо

evilworld 13.12.2020 02:51

Конечно, смотрите мою правку. Это то, что вы пытаетесь получить?

lissettdm 13.12.2020 03:26

Извини. Я отправил неверную ссылку на песочницу. Проверьте это codeandbox.io/s/funny-rgb-0qhhu?file=/src/App.js строка 135. для отладки используйте world gentebra, Elder druid, минимальный уровень 8 наивысший 1000, вы увидите, что он генерирует каждая кнопка строки в каждой ячейке, мне нужно отображать только определенную кнопку в каждой ячейке. прямо сейчас, если у меня есть 50 регистров, в каждой ячейке будет отображаться 50 кнопок копирования, содержащих кнопку каждого регистра.

evilworld 13.12.2020 03:46

Вам не нужна функция карты, смотрите редактирование, также из ValueFormatterParams вы можете получить пользовательские данные. Попробуйте console.info(ValueFormatterParams), и вы увидите нужные вам данные.

lissettdm 13.12.2020 03:54

Большое спасибо за Вашу помощь

evilworld 13.12.2020 03:58

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