جوزيف ناثان نشر 13 مايو 2021 أرسل تقرير نشر 13 مايو 2021 (معدل) ارغب برفض الزر الضغط عليه اكثر من مرة في Flutter لضمان عدم تنفيز الأمر أكثر من مرة . تم التعديل في 17 مايو 2021 بواسطة Wael Aljamal توضيح السؤال 1 اقتباس
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, ); } اقتباس
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, ); } اقتباس
السؤال
جوزيف ناثان
ارغب برفض الزر الضغط عليه اكثر من مرة في Flutter لضمان عدم تنفيز الأمر أكثر من مرة .
تم التعديل في بواسطة Wael Aljamalتوضيح السؤال
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.