Hola, estoy usando svelte para un proyecto paralelo que estoy haciendo y quiero imprimir un recibo y no la página completa. ¿Hay una manera de hacerlo? vi algunas otras publicaciones que hablan sobre cómo imprimir un elemento div usando JavaScript simple, pero esto no funciona en svelte.
código de ejemplo quiero imprimir solo el elemento con la clase imprimible
<div class="printable"> <h1>hello world</h1> </div> <div class="navbar"> <a href="/">home</a> <a href="/next">next</a> <a href="/profile">profile</a> </div>Puede usar una consulta @media o usar eventos ( beforeprint / afterprint ) y el estado local para mostrar/ocultar cosas.
En cuanto a los elementos de orientación, es más fácil si invierte la lógica y marca los elementos para eliminarlos al imprimir. Es fácil ocultar todos los elementos que no tienen la clase, pero que por defecto incluirían el h1 dentro del elemento imprimible.
Por ejemplo:
<div> <h1>hello world</h1> </div> <div class="navbar not-printable"> <a href="/">home</a> <a href="/next">next</a> <a href="/profile">profile</a> </div> <style> @media print { .not-printable { display: none; } } </style>(Si los elementos se distribuyen en varios archivos, es posible que desee mover esto a una hoja de estilo global debido al alcance del estilo del componente).