جوزيف ناثان نشر 13 مايو 2021 أرسل تقرير مشاركة نشر 13 مايو 2021 (معدل) ارغب برفض الزر الضغط عليه اكثر من مرة في Flutter لضمان عدم تنفيز الأمر أكثر من مرة . تم التعديل في 17 مايو 2021 بواسطة Wael Aljamal توضيح السؤال 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 Nuhla Almasri نشر 13 مايو 2021 أرسل تقرير مشاركة نشر 13 مايو 2021 يمكنك ان تقوم بعمل حالة مثل isButtonDisabled و عند الضغط عليه لأول مره عمل هذه الحالة false و عمل تحقق من هذه الحالة فإن كانت true سيقوم بالضغط عليه و إن كانت false لن يكون هناك اي onPress مما يعني انو الكبسة ستكون غير فعالة لعدم وجود دالة تقوم بعمل يشئ لهذه الكبسة كالتالي : class _MyHomePageState extends State<MyHomePage> { int _counter = 0; // هنا تقوم بتعريف الحالة bool _isButtonDisabled= True; //هنا بتعريق الدالة التي ستفوم بعمل الزيادة void _incrementCounter() { setState(() { _isButtonDisabled = true; _counter++; }); } ......................... Widget _buildCounterButton() { // هنا نقوم بتفقد الحالة // ان كانت True سنقوم بارجاع الدالة Increment لل onPeress // ان كانت False سنفوم بارجاع null // اعطاء فيمة نل للحدث يعني ان هذه الكبسة غير قابلة للكبس return new RaisedButton( child: new Text( _isButtonDisabled ? "Hold on..." : "Increment" ), onPressed: _isButtonDisabled ? _incrementCounter():null, ); } اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 Wael Aljamal نشر 13 مايو 2021 أرسل تقرير مشاركة نشر 13 مايو 2021 يمكننا تغيير حالة الزر ل disabled أي نقوم بإلغاء تفعيله كالتالي: تعويض قيمة null للدالة onPressed onPressed : null RaisedButton( child: Text("PRESS BUTTON"), onPressed: booleanCondition ? () => myTapCallback() : null ) // booleanCondition متغير أو باستخدام متغير، في دالة onPressed نغيير حالة الزر: class _MyHomePageState extends State<MyHomePage> { bool _isButtonDisabled; @override void initState() { _isButtonDisabled = false; } void _incrementCounter() { setState(() { _isButtonDisabled = true; _counter++; }); } وفي شيفرة الزر نحدد الدالة التي ستنفذ بناءاً على حالة المتغير: Widget _buildCounterButton() { return new RaisedButton( child: new Text( _isButtonDisabled ? "Hold on..." : "Increment" ), onPressed: _isButtonDisabled ? null : _incrementCounter, ); } اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
جوزيف ناثان
ارغب برفض الزر الضغط عليه اكثر من مرة في Flutter لضمان عدم تنفيز الأمر أكثر من مرة .
تم التعديل في بواسطة Wael Aljamalتوضيح السؤال
رابط هذا التعليق
شارك على الشبكات الإجتماعية
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.