0Pricing
Vue Academy · درس

‏v-model مع جميع عناصر النماذج

‏Input وtextarea وselect وcheckbox وradio — كيفية تكيّف v-model مع نوع كل عنصر

‏v-model مع جميع عناصر النماذج درس مجاني في Vue Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Vue Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Vue Academy 4 دروس في المجموع.

ربط مدخلات النماذج

ينشئ v-model ربطًا ثنائي الاتجاه بين عناصر التحكم في النموذج وحالتكم التفاعلية. ويستخدم كل نوع من عناصر التحكم — النص ومربع الاختيار والاختيار المنفرد والقائمة المنسدلة ومنطقة النص — v-model بطريقة مختلفة قليلًا. يغطي هذا الدرس جميع هذه الأنواع.

إدخال نصي

في الإدخال النصي، يربط v-model القيمة ويحدّثها عند الإدخال. اكتبوا في الحقل، وسيتحدّث المرجع مباشرةً.

<script setup>
import { ref } from 'vue'
const name = ref('')
</script>

<template>
  <input v-model="name" />
  <p>Hello, {{ name }}</p>
</template>

منطقة النص

تعمل منطقة النص مثل الإدخال النصي تمامًا. استخدموا v-model على العنصر مباشرةً — ولا تضعوا نصًا بين الوسمين.

<template>
  <textarea v-model="message"></textarea>
</template>

مربع اختيار: قيمة منطقية

يتبدّل مربع الاختيار الواحد المرتبط بمرجع منطقي بين true وfalse.

<script setup>
import { ref } from 'vue'
const agreed = ref(false)
</script>

<template>
  <input type="checkbox" v-model="agreed" />
  <p>Agreed: {{ agreed }}</p>
</template>

مربعات اختيار متعددة في مصفوفة

اربطوا عدة مربعات اختيار بمرجع مصفوفة واحد. يضيف كل مربع محدد قيمة value الخاصة به إلى المصفوفة.

<script setup>
import { ref } from 'vue'
const hobbies = ref([])
</script>

<template>
  <input type="checkbox" value="reading" v-model="hobbies" />
  <input type="checkbox" value="coding" v-model="hobbies" />
  <p>{{ hobbies }}</p>
</template>

أزرار الاختيار

تشترك أزرار الاختيار في مجموعة واحدة في مرجع واحد. ويحتوي المرجع على value الخاص بالخيار المحدد.

<script setup>
import { ref } from 'vue'
const picked = ref('')
</script>

<template>
  <input type="radio" value="small" v-model="picked" />
  <input type="radio" value="large" v-model="picked" />
  <p>Picked: {{ picked }}</p>
</template>

قائمة منسدلة: اختيار واحد

ترتبط القائمة المنسدلة ذات الاختيار الواحد بقيمة تطابق الخيار المحدد. ويمكنكم توفير خيار نائب ذي قيمة فارغة إذا أردتم.

<script setup>
import { ref } from 'vue'
const city = ref('')
</script>

<template>
  <select v-model="city">
    <option value="">Choose</option>
    <option value="paris">Paris</option>
    <option value="tokyo">Tokyo</option>
  </select>
</template>

قائمة منسدلة: اختيارات متعددة

أضيفوا السمة multiple واربطوا العنصر بمصفوفة. وتُجمَع الخيارات المحددة داخل المصفوفة.

<script setup>
import { ref } from 'vue'
const cities = ref([])
</script>

<template>
  <select v-model="cities" multiple>
    <option value="paris">Paris</option>
    <option value="tokyo">Tokyo</option>
  </select>
</template>

معدِّلات القيمة

تُحسّن المعدِّلات سلوك v-model: يزيل .trim المسافات البيضاء، ويحوّل .number القيمة إلى رقم، ويزامن .lazy القيمة عند التغيير بدلًا من كل ضغطة مفتاح.

<input v-model.number="age" />
<input v-model.trim="username" />
<input v-model.lazy="note" />

نموذج ذهني واحد

بغض النظر عن عنصر التحكم، يعمل v-model وفق مبدأ إدخال القيمة وإخراج التغيير. ويحدد نوع عنصر التحكم شكل القيمة فقط: قيمة منطقية أو نص أو مصفوفة.

مكوّنات الإدخال المخصصة

يعمل v-model أيضًا مع مكوّناتكم الخاصة. يعلن إدخال مخصص عن خاصية modelValue ويُصدر update:modelValue، ولذلك يتصرف أمام المكوّن الأب مثل عنصر تحكم أصلي.

<!-- parent -->
<MyTextInput v-model="name" />

<!-- child declares modelValue + emits update:modelValue -->

اختبار سريع

اختبروا معرفتكم بربط النماذج.

مراجعة

v-model عبر عناصر التحكم في النماذج:

  • يربط النص ومنطقة النص قيمة نصية.
  • يربط مربع الاختيار الواحد قيمة منطقية، بينما تربط مربعات الاختيار المتعددة مصفوفة.
  • تشترك أزرار الاختيار في مرجع واحد يحتوي على القيمة المحددة.
  • ترتبط القائمة المنسدلة بقيمة، ومع multiple ترتبط بمصفوفة.
  • المعدِّلات: .trim و.number و.lazy.

الأسئلة الشائعة

هل درس «‏v-model مع جميع عناصر النماذج» مجاني؟

نعم — نص درس «‏v-model مع جميع عناصر النماذج» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Vue Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Vue Academy 4 دروس في المجموع.

ماذا ستتعلم في «‏v-model مع جميع عناصر النماذج»؟

‏Input وtextarea وselect وcheckbox وradio — كيفية تكيّف v-model مع نوع كل عنصر تتمرن على Vue Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Vue Academy؟

لا تُشترط خبرة سابقة. Vue Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «‏v-model مع جميع عناصر النماذج»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Vue Academy هذا؟

نعم. كل درس في Vue Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. ‏v-model مع جميع عناصر النماذج
  2. إرسال النماذج وإعادة ضبطها
  3. أنماط التحقق اليدوي
  4. ‏VeeValidate للتحقق القائم على المخططات
← العودة إلى Vue Academy