Koyarwar Vue
Abubuwan fayil ɗaya na Vue 3 masu props masu rubutu, defineModel
ɗaurin hanyoyi biyu, da wucewa ta v-bind="$attrs" .
Abin da za ka gina
Ƙaramin fom na tuntuɓa — fili mai lakabi, maɓallin aikawa, v-model
ɗaure, ainihin halayyar maɓallan rubutu da na'urar karanta allo — da farko ba tare da tsari ba, sannan da tsari, cikin kusan mintuna 10.
Kafin ka fara
Kana buƙatar git, Node 22 ko sabo, da pnpm 10 ko sabo. Kowane aikin Vue 3 yana aiki — Nuxt, Vite ko Vue mai sauƙi.
Mataki na 1 — Ɗauki lambar
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
Abubuwan fayiloli ne masu shimfiɗe a cikin components/ —
Button.vue, TextInput.vue — kowanne da gwajinsa, story da takardunsa a gefensa. Kwafi fayilolin da kake buƙata, ko ɗauko ma'ajiyar.
Mataki na 2 — Abu na farko naka
<script setup>
import Button from "lily-design-system-vue-headless/components/Button.vue";
</script>
<template>
<Button @click="save">Save</Button>
</template>
Yana nuna <button class="button" type="button">. Props suna daidaita da sauran tsare-tsare: type, disabled,
pressed, label, tare da wucewar sifofi ga duk sauran abubuwa.
Mataki na 3 — Haɗa ƙaramin fom
<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 yana ɗaukar label a matsayin prop nasa maimakon abin lakabi da aka saka a ciki — ka ba shi sau ɗaya, a kan
Fieldda TextInputmai dacewa na
label yana ba da suna mai sauƙin isa.
An tabbatar a 2026-08-29: wani daftarin da ya gabata ya saka wani abu Label a cikin Field, wanda ya nuna
lakabi biyu (ɗaya fanko) saboda Field tuni yana nuna nasa daga shigarwar label prop — an gano ta hanyar haɗa ainihin gutsuren. Hanyar
Hanyar fom ɗin tuntuɓa da aka haɗa
tsari ɗaya ne, wanda aka gwada da ainihin gwaje-gwajen e2e da axe.
TextInput yana amfani da defineModel, don haka
v-model mai sauƙi yana aiki daga akwati.
Duba aikinka: gudanar da app ɗin kuma fom ɗin yana kama da maras tsari — daidai kamar yadda aka nufa: tsarin yana nan gaba. Danna Tab: mayar da hankali yana ratsa kowane abin sarrafawa, ana sanar da lakabin, kuma aikawa yana aiki. An gama halayyar; kamannin naka ne kuma shi ne mataki na gaba.
Mataki na 4 — Ba shi tsari
Ba ƙugiyoyin aji tsari — .button, .text-input,
.label, .field — a takardar salonka, ko haɗa jigon da aka shirya a cikin index.html / nuxt.config:
<link rel="stylesheet" href="/themes/nord.css" />
Mataki na 5 — Kalli komai yana aiki
App ɗin misali na Nuxt shi ne cikakken kundin da tsari da nunawa, tare da Playwright e2e da tushen axe-core:
git clone https://github.com/LilyDesignSystem/lily-design-system
cd lily-design-system/lily-design-system-vue-nuxt-examples
pnpm install && pnpm run dev
Matakai na gaba
- Jigogi — sauyawa lokacin aiki da mai taimakon theme-picker na Vue.
- Masu taimakon abubuwan so — harshe da girman rubutu.
- Kundin abubuwa — siffofi, ARIA da maɓallan rubutu ga kowane abu.
Tambayoyi a hanya? Shafin taimako cike yake da amsoshi — kuma idan wani mataki zai iya zama mafi bayyana, gaya mana kuma za mu gyara koyarwar da farin ciki.