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

185
Views
¿Cómo ejecutar los comandos TipTap desde la etiqueta del script en Vue 3?

Tengo el siguiente componente:

 <button @click="$refs.image.click(); editor.chain().focus().setImage({ src: state.image }).run()"></button> <input type="file" ref="image" style="display: none" @change="getImageUrl">

El button utiliza la file input para acceder a la interfaz de usuario de su imagen de carga. El problema es que getImageUrl es una función async y:

 editor.chain().focus().setImage({ src: state.image }).run()

se ejecuta antes de que se establezca state.image , lo que da como resultado un img src indefinido.

Mi enfoque es poner:

 editor.chain().focus().setImage({ src: state.image }).run()

dentro de su propia async function pero ¿cómo llamo al comando de cadena desde la script tag de vue 3's ? Los documentos no parecen explicar cómo llamarlo desde fuera de las vue directives .

getImageUrl :

 const getImageUrl = (event) => { const files = event.target.files; if (!files.length) return; const reader = new FileReader(); reader.onload = (event) => { state.image = event.target.result; }; reader.readAsDataURL(files[0]); }
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Así es como funciona. En el elemento DOM haz:

 <button @click="customCommand(editor)">push me</button>

y en script setup :

 const customCommand = (editor) => { editor.commands.toggleBold() }
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!