【发布时间】:2020-09-26 00:16:46
【问题描述】:
我开始使用 DropdownButton 小部件并创建了城市列表。
当我在列表中选择我最喜欢的城市时,我想看到 AlertDialog,但它无法工作。
这是代码:
import 'package:flutter/material.dart';
import './func.dart';
class ChooseCity extends StatefulWidget {
@override
State<StatefulWidget> createState() {
return ChooseCityState();
}
}
class ChooseCityState extends State<ChooseCity> {
var cities = ["Ankara", "İzmir", "İstanbul", "Edirne", "Antalya"];
String choosenCity = "Edirne";
@override
Widget build(BuildContext context) {
return Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
DropdownButton<String>(
items: cities.map((String city) {
return DropdownMenuItem<String>(
child: Text(city),
value: city,
);
}).toList(),
value: choosenCity,
onChanged: (String choosen) {
setState(() {
choosenCity = choosen;});
choosen=="Antalya" ?
AlertDialog(
title:Text("ATTENTION"),
content: Text("You chose the best place!!"),
actions: [
FlatButton(child: Text("I see,I agree"),onPressed: ()=>{},)
],
)
: Text("go on");
},
),
SizedBox(
height: 60,
),
Text(
" You choosed :" + choosenCity,
textAlign: TextAlign.center,
),
],
);
}
}
它看起来不像我想要的。当我选择 "Antalya" 时,我想看到 AlertDialog。错误在哪里?我应该把布尔函数放在哪里?我试图把这个 bool 函数从 setState 函数中去掉,但它不是我想要的。
【问题讨论】:
标签: android-studio flutter visual-studio-code widget setstate