محمود الحبشمتاح لمشاريع جديدة
  • أعماليأعمالي
  • الخدماتالخدمات
  • المختبرالمختبر
  • المقالاتالمقالات
  • تواصلتواصل
عمّان--:--EN
المقالات/لايف واير

تتبع الحالة المتغيرة في Livewire v4

تتبع تغييرات النموذج والبيانات غير المحفوظة.

1 فبراير 2026دقيقة قراءةلايف وايرRead in English

في هذه الصفحة

  1. إظهار مؤشر التغييرات غير المحفوظة
  2. استهداف حقول محددة
  3. منع التنقل مع تغييرات غير محفوظة

يتتبع Livewire v4 تلقائيًا عندما تتغير بيانات النموذج عن حالتها الأصلية.

إظهار مؤشر التغييرات غير المحفوظة

blade
<form wire:submit="save">
    <input wire:model="name" placeholder="الاسم">
    <input wire:model="email" placeholder="البريد">
    
    <!-- إظهار رسالة عند تغيير أي حقل -->
    <div wire:dirty class="text-yellow-600 text-sm">
        لديك تغييرات غير محفوظة
    </div>
    
    <!-- تغيير نمط الزر عند التغيير -->
    <button 
        type="submit"
        wire:dirty.class="bg-yellow-500 animate-pulse"
        wire:dirty.class.remove="bg-gray-300"
    >
        حفظ التغييرات
    </button>
</form>

استهداف حقول محددة

blade
<div>
    <label>اسم المستخدم</label>
    <input wire:model="username">
    <span wire:dirty.target="username" class="text-orange-500">
        تم تعديل اسم المستخدم
    </span>
</div>

<div>
    <label>السيرة الذاتية</label>
    <textarea wire:model="bio"></textarea>
    <span wire:dirty.target="bio" class="text-orange-500">
        تم تعديل السيرة
    </span>
</div>

منع التنقل مع تغييرات غير محفوظة

blade
<div 
    x-data="{ dirty: false }"
    x-on:livewire-dirty.window="dirty = true"
    x-on:beforeunload.window="if(dirty) return 'لديك تغييرات غير محفوظة'"
>
    <form wire:submit="save">
        <input wire:model="title" x-on:input="dirty = true">
        <button x-on:click="dirty = false">حفظ</button>
    </form>
</div>
كل المقالات

تابع القراءة

  • التفويض في مكونات Livewire v41 فبراير 2026دقيقة قراءة
  • مترجم Blaze المسبق: مكاسب أداء هائلة في Livewire v41 فبراير 2026دقيقة قراءة
  • بناء ميزة الإشارات المرجعية مع Livewire v41 فبراير 2026دقيقة قراءة