Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

260
Views
Draft JS inserta texto programáticamente como intervalo

Estoy usando Draft.js para su complemento de menciones. A veces, quiero que los usuarios agreguen una mención no seleccionando un elemento de un menú desplegable sino escribiendo algo como, por ejemplo, "@elemento" o "@elemento ".

Como puede ver en la función a continuación, si escribo una palabra que comienza con @* o termina con *, se convierte en una mención automáticamente.

 export const replaceString = (editorState, setEditorState) => { const contentState = editorState.getCurrentContent(); const selectionState = editorState.getSelection(); const block = contentState.getBlockForKey(selectionState.getAnchorKey()); const blockAsArray = block.getText().split(' '); const lastWord = blockAsArray.pop(); if (lastWord.startsWith('@*') || lastWord.endsWith('*') ) { const currentSelectionState = editorState.getSelection(); const currentContent = editorState.getCurrentContent(); const contentStateWithEntity = currentContent.createEntity( "MENTION", "MUTABLE", { nature: 'remedy', lastWord} ); const entityKey = contentStateWithEntity.getLastCreatedEntityKey(); const newContentState = Modifier.replaceText( contentState, selectionState.merge({ anchorOffset: currentSelectionState.getEndOffset() - lastWord.length, focusOffset: currentSelectionState.getEndOffset() }), lastWord, editorState.getCurrentInlineStyle(), entityKey ); setEditorState(EditorState.push( editorState, newContentState, 'replace-text' )) } else { setEditorState(editorState) } }

Lo que me encantaría hacer ahora es insertar esta mención como un lapso que puedo diseñar. ¿Hay alguna manera de que pueda hacer eso?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

https://draftjs.org/docs/advanced-topics-inline-styles/

Draftjs renderiza desde su propio modelo. Debe controlar los estilos por entidad.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!