¿Cómo se puede soportar 'onblur' y eventos similares?

asp.net-core blazor c#

Pregunta

Quiero hacer algo como:

<td contenteditable=true @onblur(async (txt) => { ... })>

pero en la actualidad parece que sólo @onchange está soportado, y en realidad se desencadena cuando contenteditable se cambia el contenido. Supongo que el método sería tener un controlador JS que llame al controlador C #, pero no sé si la comunicación puede ir de esta manera. Es la mejor opción ahora sólo para tener un botón que tiene un onclick manejador de 'salvar a DB'? ¿O hay una mejor opción disponible?

Respuesta aceptada

Usted es correcto, la versión actual de Blazor no admite el evento onblur. Solo se admiten los eventos onclick, onchange y onkeypress. Creo que esta solicitud de extracción debería permitir el acceso a más eventos y debería estar en la versión 0.2.0.

Puede llamar a los métodos de C # desde JavaScript si desea ir por esta ruta. Ver esta publicación del blog para un ejemplo. Pero podría valer la pena esperar el lanzamiento de la versión 0.2.0, ya que debería estar disponible la próxima semana.


Respuesta popular

Sintió la necesidad de crear una hoja de trucos de los eventos disponibles en Blazor ... Parece relevante dejar aquí como se agrega onblur.


Eventos de enfoque (UIFocusEventArgs)

onfocus        
onblur
onfocusin
onfocusout

Eventos del ratón (UIMouseEventArgs)

onmouseover          
onmouseout    
onmousemove   
onmousedown   
onmouseup     
onclick       
ondblclick    
oncontextmenu 

https://github.com/aspnet/Blazor/blob/master/test/testapps/BasicTestApp/MouseEventComponent.cshtml

Eventos de la rueda del ratón (UIWheelEventArgs)

onwheel       
onmousewheel  

Eventos de arrastre (UIDragEventArgs)

ondrag      
ondragend   
ondragenter 
ondragleave 
ondragover  
ondragstart 
ondrop      

Eventos de teclado (UIKeyboardEventArgs)

onkeydown    
onkeyup      
onkeypress   

https://github.com/aspnet/Blazor/blob/master/test/testapps/BasicTestApp/KeyPressEventComponent.cshtml

Eventos de entrada (UIEventArgs)

oninput        
oninvalid       
onreset       
onselect        
onselectstart   
onselectionchange
onsubmit     

onchange        UIChangeEventArgs

Portapapeles (UIClipboardEventArgs)

oncopy
oncut
onpaste

onbeforecopy        UIEventArgs
onbeforecut       
onbeforepaste     

Eventos táctiles (UITouchEventArgs)

ontouchcancel
ontouchend 
ontouchmove
ontouchstart
ontouchenter
ontouchleave

https://github.com/aspnet/Blazor/blob/master/test/testapps/BasicTestApp/TouchEventComponent.cshtml

Eventos punteros (UIPointerEventArgs)

gotpointercapture
lostpointercapture
pointercancel    
pointerdown    
pointerenter    
pointerleave    
pointermove      
pointerout       
pointerover     
pointerup        

Eventos mediáticos (UIEventArgs)

oncanplay      
oncanplaythrough
oncuechange
ondurationchange
onemptied   
onpause       
onplay     
onplaying      
onratechange 
onseeked      
onseeking      
onstalled      
onstop       
onsuspend      
ontimeupdate   
onvolumechange  
onwaiting       

Eventos de progreso (UIProgressEventArgs)

onloadstart
ontimeout
onabort
onload
onloadend
onprogress

onerror        (UIErrorEventArgs)

Eventos generales (UIEventArgs)

onactivate      
onbeforeactivate   
onbeforedeactivate 
ondeactivate       
onended       
onfullscreenchange 
onfullscreenerror  
onloadeddata       
onloadedmetadata   
onpointerlockchange
onpointerlockerror 
onreadystatechange 
onscroll      


Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué