Пользовательский html AgGrid при перетаскивании

Я просто собираюсь изменить перетаскивание агрессивного компонента. я не могу найти на нем много ... Кто-нибудь знает, как изменить стили строки в режиме перетаскивания?

Моя цель - иметь другую анимацию (полную строку), например UI / UX материала.

https://material.io/design/components/lists.html#behavior

Пользовательский html AgGrid при перетаскивании

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
2
0
179
2

Ответы 2

Так что, на самом деле, на данный момент нет возможности изменить шаблон «призрак», вы можете попытаться изучить глубже, чем я, вот точка входа: метод ag-grid\src\ts\dragAndDrop\dragAndDropService.ts и createGhost - именно то, что вам нужно. Одна вещь, которую вы можете сделать, - это переопределить это место только для себя и использовать вместо исходной библиотеки.

Созданный призрак можно было бы заменить на:

  • Глобальное скрытие призрака при наведении курсора мыши путем добавления класса тела для предотвращения мерцания призрака (не забудьте удалить класс при наведении курсора мыши, чтобы другие сетки могли использовать призраков)
  • Установите новое содержимое или измените стиль призрака при перетаскивании и удалите класс тела, чтобы показать нового призрака (помните, что призраки присутствуют в DOM только во время перетаскивания)

Скрыть призрак при наведении указателя мыши и наведении указателя мыши:

function onCellMouseOver(event) {
  document.body.classList.add('cellDragRendererOn');
}

function onCellMouseOut(){
  document.body.classList.remove('cellDragRendererOn');
}

gridOptions.onCellMouseOver = onCellMouseOver;
gridOptions.onCellMouseOut = onCellMouseOut;

Замените призрак и стиль и отобразите призрак:

function onRowDragEnter() {
  var ghost = document.querySelector('.ag-dnd-ghost');
  ghost.style.background = 'red';
  ghost.innerHTML = '<span class = "myClass">My message</span>';
  document.body.classList.remove('cellDragRendererOn');
}

gridOptions.onRowDragEnter = onRowDragEnter; 

Тело -> призрачный стиль CSS:

.cellDragRendererOn .ag-dnd-ghost{
  display: none !important;
}

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