A Quasar Framework app
yarn global add @quasar/cli
npm install -g @quasar/cli
quasar dev
yarn run lint
quasar build
See Configuring quasar.conf.js.
<template>
<div class="q-pa-md">
<q-layout view="lHh Lpr lff">
<q-header elevated class="bg-cyan-8">
<q-toolbar>
<q-toolbar-title>Aplicacacion Web</q-toolbar-title>
<q-btn flat @click="drawer = !drawer" round dense icon="menu" />
</q-toolbar>
</q-header>
<q-drawer
v-model="drawer"
show-if-above
:width="200"
:breakpoint="400">
<q-scroll-area style="height: calc(100% - 150px); margin-top: 150px; border-right: 1px solid #ddd">
<q-list padding>
<q-item clickable v-ripple to="/" active-class="my-menu-link" exact>
const routes = [
{
path: '/',
component: () => import('layouts/MainLayout.vue'),
children: [
{ path: '', component: () => import('pages/Index.vue') },
{ path: '/about', component: () => import('pages/About.vue') },
{ path: '/send', component: () => import('pages/Send.vue') },
{ path: '/form', component: () => import('pages/Form.vue') }
]
},
<div class="col-12 col-sm-6">
<q-toggle
label="Acepta los terminos"
v-model="terminos"/>
</div>
<div class="col-12">
<q-btn
label="Submit"
:ripple="true"
color="primary"
type="submit"/>
<q-btn
label="Reset"
color="red"
outline
class="q-ml-sm"
:ripple="true"
type="reset"/>
<script>
import {ref} from 'vue'
import { useQuasar } from 'quasar'
import PintarDatos from 'src/components/PintarDatos.vue'
const rows = [
{
producto: 'producto 1',
prioridad: 'Maxima'
}
]
export default {
components: { PintarDatos },
setup() {
const myForm = ref(null)
const $q = useQuasar()
const producto = ref(null)
const seleccion = ref(null)
const terminos = ref (false)
const opciones = ['maxima', 'media', 'minima']
const productos = ref([])
const procesarFormulario = () => {
console.log("clic al Formulario")
if(terminos.value === false){
$q.notify({
color: 'red-5',
textColor: 'white',
icon: 'warning',
message: 'Debe Aceptar Terminos y Condiciones'
})
} else {
$q.notify({
color: 'green-4',
textColor: 'white',
icon: 'cloud_done',
message: 'Formulario Enviado'
})
myForm.value.resetValidation()
reset()
const reset = () => {
producto.value = null
seleccion.value = null
terminos.value = false
}
<pre>{{producto}} - {{seleccion}} - {{terminos}}</pre>
<pintar-datos :productos="productos" />
productos.value =[...productos.value,{
producto: producto.value,
prioridad: seleccion.value
}]
export default ({
props: {
productos: Array
},
setup() {
return{
columns,
rows
}
},
})
</script>
return {
producto,
seleccion,
opciones,
procesarFormulario,
terminos,
reset,
myForm,
productos
}