Estoy usando Tabulator 5.1 y ha sido genial hasta ahora. Sin embargo, tengo una pregunta que espero sea una respuesta rápida.
Estoy cargando mis datos a través de AJAX, pero tengo una columna de enlace con la que necesito ayuda. El formateador de enlaces funciona muy bien y configuré la propiedad "etiqueta" para que pueda tenerlos todos uniformes. Sin embargo, descubrí que algunas de mis filas que ingresan a la tabla no tienen una URL y cuando usa la propiedad de etiqueta, la crea para cada fila, independientemente de si hay una URL para hacer un enlace o no.
Entonces, mi problema es que tengo una columna con enlaces y algunos enviarán al usuario a la URL y otros son "indefinidos" (valor nulo de la llamada AJAX) y presentan una página de error.
Mi pregunta (finalmente) es, ¿hay alguna manera de borrar las filas que tienen un valor Nulo y aún poder usar la propiedad "etiqueta"?
Si elimino la propiedad "etiqueta" de las filas que no tienen una URL en blanco como se esperaba, solo cuando trato de usar una etiqueta me encuentro con este problema.
EDITAR: Así que busqué un poco más y encontré un par de cosas en el formateador. Veo que puede usar una función para obtener la etiqueta, sin embargo, no puedo ver que la lógica funcione correctamente. Esto es lo que tengo hasta ahora con lo que estoy tratando de jugar:
label: function(cell){ if (cell.getData().title == "null"){ return "" } else { return "Click Here" } },Sin embargo, eso solo parece obtener "Haga clic aquí" para cada fila.
Parece que encontré información desactualizada. Este es el código que usé para obtener una etiqueta personalizada sin dejar las filas con URL en blanco como una celda en blanco:
formatterParams: { label: function(cell){ if(cell.getValue() == null){ return "" } else { return "Click Here" } }, target: "_blank" },Ese es mi valor completo de formatterParams en caso de que alguien lo necesite. Juré que había probado getValue() antes, pero esta vez funcionó. Esperemos que esto ayude a alguien en el futuro si necesitan lo mismo.