Formulario para Editar con LARAVEL y VUEjs

Vamos a preparar el terreno para la edición de un registro de nuestra lista de tareas, es decir crearemos el formulario y su respectiva ventana flotante con la función edit para preparar los datos en Vue.

Inicia sesión para poder registrar las lecciones que has completado Login

Primero que nada, tenemos que entender que el formulario de edición va a ser muy similar al de creación, pero sin embargo necesitamos otro formulario o vista diferente porque algunos parámetros cambian, como la ruta de acceso y los textos con relación a la ventana flotante usada para la creación.

Entonces, copiamos todo el bloque html de nuestro formulario de creación resources\views\create.blade.php y lo pegamos en un nuevo archivo dentro de la misma carpeta, pero con el nombre resources\views\edit.blade.php para nuestro formulario editar.

 

Formulario de Edición

Como ya tenemos la estructura básica de una ventana flotante utilizada para la creación, el formulario de edición va a necesitar unos ligeros cambios que los detallamos a continuación.

  1. La primera modificación a realizar en este archivo es en la directiva v-on:submit.prevent="updateKeep(fillKeep.id). Ahora utilizamos o hacemos un llamado al método Vue updateKeep al cuál le pasamos un parámetro que en este caso será el id de un registro y estará almacenado en la variable fillKeep que será creada más adelante.
  2. Cambiamos el atributo id del div principal o modal con el valor edit
  3. Modificamos los textos por “Editar tarea” tanto del título como del label utilizados en el formulario.
  4. En la directiva v-model="fillKeep.keep" utilizamos de nuevo la variable fillKeep que se creará más adelante, pero esta vez para obtener el campo keep con el texto del registro seleccionado.
  5. Al final de este formulario simplemente cambiamos el nombre del botón con el value="Actualizar".
<form method="POST" v-on:submit.prevent="updateKeep(fillKeep.id)">
<div class="modal fade" id="edit">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">
                    <span>×</span>
                </button>
                <h4>Editar</h4>
            </div>
            <div class="modal-body">
                <label for="keep">Actualizar Tarea</label>
                <input type="text" name="keep" class="form-control" v-model="fillKeep.keep">
                <span v-for="error in errors" class="text-danger">@{{ error }}</span>
            </div>
            <div class="modal-footer">
                <input type="submit" class="btn btn-primary" value="Actualizar">
            </div>
        </div>
    </div>
</div>
</form>

 

Configuración de la vista Dashboard

Dentro de este archivo simplemente vamos a configurar la acción del botón editar para llamar a nuestra vista flotante y a su vez agregar la inclusión de la misma.

  1. Como primer paso agregamos la directiva v-on:click.prevent="editKeep(keep)" que va a tener el método editKeep para invocar a la ventana modal con el formulario de edición, esta función va a recibir como parámetro el registro seleccionado mediante la variable keep.
  2. Al final de la tabla como en el video anterior, realizamos la inclusión de la vista flotante con la función blade @include('edit') haciendo referencia a su id establecido.

 

Código Vue

Para finalizar la preparación de nuestro formulario de edición tenemos que configurar el archivo javascript resources\assets\js\app.php con el siguiente código:

  1. Dentro de la llave data: {} de Vue, añadimos una nueva variable fillKeep: {'id': '', 'keep': ''}, que será utilizada para capturar los datos id, keep y mostrarlos en la vista de nuestro formulario. Por el momento a los datos de la variable les asignamos un valor vacío.
  2. Ahora si creamos el método de editar editKeep, que va a servir para mostrar el formulario. Si recordamos dentro del archivo dashboard definimos el botón para hacer el llamado a este método y le enviamos el registro con sus datos correspondientes.
  3. Una vez que hayamos recibido los datos del registro por medio de la variable keep tenemos que asignarlos a los datos vacíos id y keep creados en la llave data de la variable fillKeep.
  4. Finalmente, utilizando Jquery invocamos a nuestra ventana modal edit y la presentamos con el evento show.
<script>
editKeep: function(keep) {
    this.fillKeep.id     = keep.id;
    this.fillKeep.keep = keep.keep;
    $('#edit').modal('show');
}
</script>

Con lo realizado solo tenemos que refrescar nuestro navegador y probar la función del botón editar, si todo ha sido configurado correctamente tendría que presentarse sin ningún problema la ventana modal para la edición del registro.

En el siguiente video vamos terminar toda la configuración necesaria para cargar esos datos obtenidos del registro en el formulario y concluir con todo el proceso de edición al realizar el update correspondiente.

Adquiere en preventa y aprovecha un gran descuento TDD en Laravel

Comparte en

Creado por: Venezuela Italo Morales

Profesor de #Laravel y #PHP en Rimorsoft Online

Más información


cambio de carpeta para guardar las imágenes

siguiendo el tutorial del blog para guardar imagenes, con esta linea... $query->foto_user = asset('layouts/backend/images/users/'.$random.'_'.$image->getClientOriginalName()); consigo guardar la imagen en la carpeta public donde yo quiero. Hay alguna manera de cambiar esta linea de codigo para que se guarde en la carpeta fuera de public.?que ria guardarla en la carpeta stora...

Como Instalar SQLSERVER en linux para conectarme desde un proyecto laravel

Hola saludos es posible instalar sql server en un equipo linux es que necesito conectarme a esa base de datos desde laravel o de que manera puedo hacerlo que me recomiendan? muchas gracias...

Como Migrar Store Procedure Realizado en SQL Server a Postgres

Hola saludos necesito un ayuda tengo unos store procedure que necesito migrarlos a postgres que herraminta conoce para poder hacerlos muchas gracias...

Activar botón de menú en Laravel

Veamos en este video cómo agregar una clase de forma dinámica usando laravel, de esa manera podemos cambiar la apariencia de un botón y dar feedback al usuario. class = "active"