dnde
v 07,2021)
Перетаскивать редактор электронной почты
# Yarn
yarn add dnd-email-editor
# NPM
npm install dnd-email-editor
Реквизит, который можно передать в компонент:
| Проп | Тип | По умолчанию | Необязательный | Описание |
|---|---|---|---|---|
preview | логический | true | истинный | Показать/скрыть встроенную кнопку предварительного просмотра. |
showUndoRedo | логический | true | истинный | Показать/скрыть встроенную кнопку Undo/Refo. Вы можете создать свою собственную функциональность OnceDo с undoredo из методов API ниже |
Редактор разоблачает эти методы API
getHtml - экспортировать дизайн как контент HTMLgetJson - Export как json String, эта строка можно использовать с loadJsonloadJson - Загрузите существующий дизайн с строки JSONundoredo - отменить и переделать действия import Editor from 'dnd-email-editor' ;
return < Editor / >;ref с использованием useRef и передайте его редактору const ref = React . useRef ( null ) ;
return < Editor ref = { ref } / > ;getHtml() , getJson() , loadJson() , undoredo const logValues = ( ) => {
if ( ref . current ) {
const html = ref . current . getHtml ( ) ;
const json = ref . current . getJson ( ) ;
console . log ( html , json ) ;
}
} ;
const loadJson = ( json : string ) => {
if ( ref . current ) {
ref . current . loadJson ( json ) ;
}
} ;
const performUndoAction = ( ) => {
if ( ref . current ) {
ref . current . undoActionCallback ( ) ;
// to check if undo is possible
console . log ( 'is undo empty: ' , ref . current . isUndoEmpty ( ) ) ;
}
} ;
const performRedoAction = ( ) => {
if ( ref . current ) {
ref . current . redoActionCallback ( ) ;
// to check if redo is possible
console . log ( 'is redo empty: ' , ref . current . isRedoEmpty ( ) ) ;
}
} ;Использование для использования TypeScript и получить крутые определения, просто передайте тип в рефери
import Editor from 'dnd-email-editor';
const ExampleComponent = () => {
- const ref = useRef(null);
+ const ref = useRef<Editor>(null);
return (
<Editor ref={ref}/>
);
} Есть много редакторов перетаскивания, которые помогают создавать веб -сайт , но не почты , потому что почты сильно отличаются от a normal html webpage
mail editors , они оплачиваются, а не с open-source . Одним из таких примеров будет unlayer , он утверждает, что он открывает, но это не так.
open-sourceПриведенные выше причины, а также меня вдохновили редакторы Drag-N-Drop в целом, поэтому я решил сделать его.
Undo / Redo