Vue tutoriala
Vue 3 fitxategi bakarreko osagaiak propa tipatuekin, defineModel
bi norabideko loturarekin eta v-bind="$attrs" pasatzearekin.
Zer eraikiko duzun
Harremanetarako formulario txiki bat — etiketadun sarrera, bidaltze-botoia, v-model
lotura, teklatu eta pantaila-irakurgailu portaera erreala — lehenik biluzik, gero estilatuta, 10 minutu inguruan.
Hasi aurretik
git, Node 22 edo berriagoa eta pnpm 10 edo berriagoa behar dituzu. Edozein Vue 3 proiektuk balio du — Nuxt, Vite edo Vue soila.
1. pausoa — Lortu kodea
git clone https://github.com/LilyDesignSystem/lily-design-system
cd lily-design-system/lily-design-system-vue-headless
pnpm install
pnpm test # vitest + @testing-library/vue
pnpm run storybook # browse all 571 components
Osagaiak fitxategi lau gisa daude hemen: components/ —
Button.vue, TextInput.vue — bakoitza bere proba, story eta dokumentazioarekin batera. Kopiatu behar dituzun fitxategiak, edo egin vendoring biltegiari.
2. pausoa — Zure lehen osagaia
<script setup>
import Button from "lily-design-system-vue-headless/components/Button.vue";
</script>
<template>
<Button @click="save">Save</Button>
</template>
Errendatzen du <button class="button" type="button">. Propak beste framework-ekin bat datoz: type, disabled,
pressed, label, gehi gainerako guztiarentzako atributu-pasatzea.
3. pausoa — Osatu formulario txiki bat
<script setup>
import { ref } from "vue";
import Form from ".../components/Form.vue";
import Field from ".../components/Field.vue";
import TextInput from ".../components/TextInput.vue";
import Button from ".../components/Button.vue";
const name = ref("");
</script>
<template>
<Form @submit="handleSubmit">
<Field label="Full name" required>
<TextInput id="name" label="Full name" v-model="name" required />
</Field>
<Button type="submit">Save</Button>
</Form>
</template>
Field etiketa ikusgarria label bere propa gisa, etiketa-osagai habiaratu gisa baino — eman behin,
Field, eta TextInput-ak
label -n
2026-08-29an egiaztatua: aurreko zirriborro batek Label -ren barruan Fieldbarruan, eta honek
bi etiketa errendatzen zituen (bat hutsik) zeren Field -k jada bere etiketa errendatzen baitu label propa — snippet zehatza konpilatuz atzeman zen.
harremanetarako formulario konposatuaren ibilbideak
patroi bera du, benetako e2e eta axe probekin erabilia.
TextInput erabiltzen du defineModel, beraz
v-model soila kutxatik ateratzen den bezala funtzionatzen du.
Egiaztatu zure lana: exekutatu aplikazioa eta formularioa soila ageri da — hain zuzen nahi bezala: estiloa oraindik aurrean dago. Sakatu Tab: fokua kontrol guztietatik pasatzen da, etiketa iragartzen da eta bidalketak funtzionatzen du. Portaera prest dago; itxura zurea da eta hurrengoa da.
4. pausoa — Estilatu
Estilatu klase-gakoak — .button, .text-input,
.label, .field — zure estilo-orrian, edo lotu prest dagoen gai bat hemen: index.html / nuxt.config:
<link rel="stylesheet" href="/themes/nord.css" />
5. pausoa — Ikusi dena funtzionatzen
Nuxt adibide-aplikazioa katalogo osoa da estilatuta eta demostratuta, Playwright e2e eta axe-core oinarri-lerroarekin:
git clone https://github.com/LilyDesignSystem/lily-design-system
cd lily-design-system/lily-design-system-vue-nuxt-examples
pnpm install && pnpm run dev
Hurrengo pausoak
- Gaiak — exekuzio-garaiko aldaketa Vue theme-picker laguntzailearekin.
- Lehentasun-laguntzaileak — hizkuntza eta testu-tamaina.
- Osagai-katalogoa — osagai bakoitzaren propak, ARIA eta teklatua.
Galderarik bidean? laguntza-orriak erantzunez beteta dago — eta pauso bat argiagoa izan badaiteke, esan iezaguzu eta pozik hobetuko dugu tutoriala.