J'ai un widget qui affiche une case à cocher. Les cases à cocher affichent des jours de la semaine. Je suis curieux de savoir comment je peux utiliser les valeurs ci-dessous dans une autre fonction? Par exemple, comment puis-je savoir dans une autre fonction ce que l'utilisateur a sélectionné en termes d'une journée de semaine?
Voici mon code de widget Cochez la case: P>
child: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
checkbox("Mon", monVal),
checkbox("Tu", tuVal),
checkbox("Wed", wedVal),
checkbox("Thur", thurVal),
checkbox("Fri", friVal),
checkbox("Sat", satVal),
checkbox("Sun", sunVal),
],
),
],
),
)
3 Réponses :
Créer un et utiliser cette approche p> à tout moment, vous devez savoir quel jour est sélectionné simplement utiliser une variable Enum code> pendant des jours et faire une variable globale jour code> que vous pouvez utiliser dans un autre fichier aussi. jour code > qui peut être jour.sun, day.mon, jour.ue ... jour.sat code> p> p> p>
Merci .. Je pensais utiliser une liste
Liste SET mapper Enum code> s est meilleur pour cela.
Merci, mais le problème avec Enums est qu'il ne traitera pas d'options ni de situations dans lesquelles l'utilisateur peut sélectionner plusieurs jours.
Je n'étais pas au courant de votre cas d'utilisation, vous pouvez utiliser mapper
J'ai ajouté une autre solution pour cela.
Si vous souhaitez suivre plusieurs jours, vous pouvez utiliser et votre fonction comme: p> < Pré> xxx pré> Vous pouvez simplement utiliser p> mappe
Merci, j'essaye ça, mais la case à cocher ne conserve pas sa coche. Avant, avec la méthode du commutateur, les cases à cocher pourraient être vérifiées et décochées. Maintenant, rien n'apparaît.
OPS, j'ai oublié d'ajouter une ligne. Consultez le code mis à jour.
En fait cela n'a rien changé. La case à cocher ne devient pas vérifiée. (ou décoché).
Ok j'ai découvert le problème que votre logique de code n'est pas correct en réalité. Cela en fait en fait une nouvelle question.
Bonjour, j'ai mis à jour mon code. C'est comme ça que j'affiche la case à cocher réelle
lol..haha. Ok .. im cool avec ça, mais quelle est la question que je dois demander? haha. Tu es un bon gars. Merci.
J'ai ajouté une solution finale pour vous. Vérifiez-le maintenant.
réponse à votre poste modifié: p>
static String sun = "Sun";
static String mon = "Mon";
static String tue = "Tue";
static String wed = "Wed";
Map<String, bool> days = {
sun: false,
mon: false,
tue: false,
wed: false,
}; // global variable
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(),
body: Column(
children: <Widget>[
checkbox(sun, days[sun]),
checkbox(mon, days[mon]),
checkbox(tue, days[tue]),
checkbox(wed, days[wed]),
],
),
);
}
Widget checkbox(String title, bool boolValue) {
return Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(title),
Checkbox(
value: boolValue,
onChanged: (value) => setState(() => days[title] = value),
)
],
);
}
Merci beaucoup. J'ai beaucoup appris. Je vais ajouter votre nom dans les crédits de mon application. C'est une application gratuite quand même. J'essaie d'aider un ami avec ses affaires.
@ Kiro777 Quelle douce de vous. Mais je n'ai pas besoin de ça. Merci d'avoir montré un geste aussi amical.
Je vous donnerais honnêtement des redevances, mais non seulement l'application est gratuite, tout le code provenait de personnes qui viennent de le laisser coucher sur le net. haha .. non non .. je plaisante. J'ai écrit beaucoup de moi moi-même. Mais la communauté a été très utile. C'est pour un de mes amis qui a une entreprise ..