Formatting
Comprar curso

19. Formatting

En este tema aprenderás a trabajar con el método de columna "formatting" disponible en Laravel Livewire Tables. Te mostraremos cómo personalizar la forma en que se muestra la información en tus tablas.


3 comentarios

Inicia sesión para comentar

Comentarios:

  • Jose

    Jose hace 1 mes

    Hola Victor, este tema me da este error, supongo que sera por el formato del campo pero no se donde esta el error….

    En las tablas le tengo puesto este formato a un campo ‘Fecha’:

    Column::make("Fecha", "Fecha")

                    ->sortable()

                    ->format(fn($value) => $value->format('d/m/Y')),

    ******

    En la migracion l;o tengo asi:

      $table->date('Fecha');

    *****

    Pero me da este error:

    Call to a member function format() on string

     

     

    • Victor Arana Flores hace 1 mes

      El campo fecha has especificado que es una fecha en el modelo?

      De lo contrario ve al modelo y crea una propiedad de esta manera

      protected $casts = [
      	'fecha' => 'date'
      ];
    • Jose hace 1 mes

      Funcionando!!! Muchas gracias

  • Victor Arana Flores

    Victor Arana Flores hace 1 mes

    Por defecto, el componente utilizará el valor de la columna como el valor de la celda.

    Sin embargo, puedes modificar ese valor o evitarlo por completo.

    Modificando el valor de la columna

    Si deseas modificar el valor de la columna, puedes encadenar el método format:

    Column::make('Name')
        ->format(
            fn($value, $row, Column $column) => $row->first_name . ' ' . $row->last_name
        ),
    

    Este código modificará el valor de la columna "Name" concatenando el valor de "first_name" y "last_name" de la fila correspondiente.

    Renderizando HTML

    Si deseas devolver HTML desde el método format, puedes hacerlo utilizando el método html():

    Column::make('Name')
        ->format(
            fn($value, $row, Column $column) => '<strong>'.$row->first_name . ' ' . $row->last_name.'</strong>'
        )
        ->html(),
    

    Este código renderizará el valor de la columna "Name" dentro de una etiqueta HTML <strong>, lo que lo hará aparecer en negrita en la tabla.

  • Alexander Güiza Iresis

    Alexander Güiza Iresis hace 1 mes

    hola!, cómo ponerle formato a toda la fila? Gracias! 

    • Victor Arana Flores hace 1 mes

      Hola Alexander, no entendí tu pregunta.

    • Alexander Güiza Iresis hace 1 mes

      Me refiero a por ejemplo, cambiar el color a toda la fila dependiendo de algún valor de la celda