dnde
v 07,2021)
Arrastre y suelte el editor de correo electrónico
# Yarn
yarn add dnd-email-editor
# NPM
npm install dnd-email-editor
Accesorios que se pueden pasar al componente:
| Apuntalar | Tipo | Por defecto | Opcional | Descripción |
|---|---|---|---|---|
preview | booleano | true | verdadero | Mostrar/ocultar el botón de vista previa incorporada. |
showUndoRedo | booleano | true | verdadero | Mostrar/ocultar el botón de deshacer/rehacer incorporado. Puede crear su propia funcionalidad de Undoredo con undoredo a partir de los métodos API a continuación |
El editor expone estos métodos API
getHtml : exporte el diseño como contenido HTMLgetJson - Exportar como cadena JSON, esta cadena se puede usar con loadJsonloadJson : cargue un diseño existente desde la cadena JSONundoredo - Deshacer y rehacer acciones import Editor from 'dnd-email-editor' ;
return < Editor / >;ref usando useRef y pasarlo al editor 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 ( ) ) ;
}
} ;EnderS para usar TypeScript y obtener definiciones geniales, simplemente pase el tipo al Ref.
import Editor from 'dnd-email-editor';
const ExampleComponent = () => {
- const ref = useRef(null);
+ const ref = useRef<Editor>(null);
return (
<Editor ref={ref}/>
);
} Hay muchos editores de arrastrar y soltar que ayudan a crear el sitio web pero no los correos , porque los correos difieren mucho de a normal html webpage
mail editors disponibles, se les paga y no open-source . Un ejemplo de ello sería unlayer , afirma ser OpenSource pero no lo es.
open-sourceLas razones anteriores y también me inspiraron en los editores de Drag-N-Dop en general, así que decidí hacer uno.
Undo / Redo