في Angular 2، لا توجد أحداث مباشرة مسؤولة عن تحديد أو إلغاء تحديد زر الراديو. بدلاً من ذلك، يمكنك الاستفادة من تغييرات الحالة الناتجة عن اختيار زر الراديو في مجموعة.
عندما يتم تحديد زر الراديو، يتم تغيير قيمة النموذج المرتبط به. للاستفادة من هذا التغيير، يمكنك استخدام حدث (ngModelChange)
.
لتحقيق السلوك الذي تبحث عنه، يمكنك تحديد مجموعة من أزرار الراديو باستخدام نموذج NgModel ومن ثم استخدام حدث (ngModelChange)
للتعامل مع تغييرات الاختيار. فيما يلي مثال على كيفية تحقيق ذلك:
html<input type="radio" [(ngModel)]="selectedOption" value="option1" (ngModelChange)="handleRadioChange($event)" />
<input type="radio" [(ngModel)]="selectedOption" value="option2" (ngModelChange)="handleRadioChange($event)" />
<input type="radio" [(ngModel)]="selectedOption" value="option3" (ngModelChange)="handleRadioChange($event)" />
ثم في مكون Angular الخاص بك، يمكنك تعريف دالة handleRadioChange
:
typescriptexport class YourComponent {
selectedOption: string;
handleRadioChange(newValue: string) {
// تنفيذ السلوك الخاص بك هنا
console.log(`تم اختيار ${newValue}`);
}
}
هكذا، عند تحديد أي زر من أزرار الراديو، ستتم استدعاء دالة handleRadioChange
مع القيمة الجديدة للخيار المحدد. يمكنك تنفيذ السلوك الخاص بك داخل هذه الدالة، بما في ذلك استدعاء دوال selected()
و unselected()
كما ترغب.
هذا النهج يسمح لك بالتحكم بشكل كامل في سلوك زر الراديو دون الحاجة إلى أحداث select
و unselect
المحددة في السؤال الأصلي.
المزيد من المعلومات
بالطبع، يُمكننا أن نوسّع المحتوى لتوفير مزيد من المعلومات بشكل شامل حول استخدام زر الراديو في Angular 2.
في Angular 2، يتم استخدام ميزة NgModel
لربط قيمة العنصر مع متغير في الكود. يُستخدم ذلك بشكل خاص عند التعامل مع عناصر الإدخال مثل زر الراديو.
للبداية، يجب عليك تضمين وحدة FormsModule
في تطبيق Angular الخاص بك لتفعيل استخدام NgModel
. يمكنك فعل ذلك عن طريق استيراد FormsModule
في ملف الوحدة الرئيسية لتطبيقك (على سبيل المثال، app.module.ts
) كما يلي:
typescriptimport { FormsModule } from '@angular/forms';
@NgModule({
imports: [FormsModule],
// ...
})
export class AppModule { }
ثم، يمكنك استخدام NgModel
مع عناصر الإدخال لربطها بمتغيرات في الكود. في مثالنا، سنستخدمها مع زر الراديو:
html<input type="radio" [(ngModel)]="selectedOption" value="option1" />
<input type="radio" [(ngModel)]="selectedOption" value="option2" />
<input type="radio" [(ngModel)]="selectedOption" value="option3" />
ثم، في مكون Angular الخاص بك، يمكنك تعريف المتغير selectedOption
واستخدامه للتحكم في سلوك زر الراديو:
typescriptexport class YourComponent {
selectedOption: string;
// تم استدعاءها عندما يتغير زر الراديو المحدد
handleRadioChange(newValue: string) {
console.log(`تم اختيار ${newValue}`);
// قم بتنفيذ السلوك الإضافي هنا إذا لزم الأمر
}
}
باستخدام هذا النهج، يمكنك ربط زر الراديو بمتغير في الكود وتنفيذ السلوك الخاص بك عند تحديد أي من الخيارات. يمنحك هذا المزيد من المرونة والتحكم في التعامل مع زر الراديو في تطبيقك Angular 2.