[英]I'm trying to put a var in dropdownlist
This is my code I want to put a var in dropdown list in flutter这是我的代码,我想在 flutter 的下拉列表中放置一个 var
new DropdownButton<String>(
// value: selectedPurpose,
hint: new Text(
'Select visitng purpose',
style: TextStyle(fontFamily: "Gotham"),
),
items: widget.size
.map((purposeTemp) {
return new DropdownMenuItem<String>(
value: purposeTemp,
child: new Text(
purposeTemp,
style: TextStyle(fontFamily: "Gotham"),
),
);
}).toList(),
onChanged: (String purpose) {
setState(() {
ss = purpose.toString();
});
},
// value: selectedPurpose,
)
am getting this error type 'List<dynamic>' is not a subtype of type 'List<DropdownMenuItem<String>>'
我收到此错误type 'List<dynamic>' is not a subtype of type 'List<DropdownMenuItem<String>>'
what should I do to solve it我该怎么做才能解决它
You can copy paste run full code below您可以在下面复制粘贴运行完整代码
You can use widget.size.map<DropdownMenuItem<String>>((String purposeTemp)
您可以使用widget.size.map<DropdownMenuItem<String>>((String purposeTemp)
code snippet代码片段
items: widget.size.map<DropdownMenuItem<String>>((String purposeTemp) {
return DropdownMenuItem<String>(
value: purposeTemp,
child: Text(purposeTemp, style: TextStyle(fontFamily: "Gotham")),
);
}).toList(),
working demo工作演示
full code完整代码
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
/// This Widget is the main application widget.
class MyApp extends StatelessWidget {
static const String _title = 'Flutter Code Sample';
@override
Widget build(BuildContext context) {
return MaterialApp(
title: _title,
home: Scaffold(
appBar: AppBar(title: const Text(_title)),
body: Center(
child: MyStatefulWidget(
size: ['One', 'Two', 'Free', 'Four'],
),
),
),
);
}
}
class MyStatefulWidget extends StatefulWidget {
List<String> size;
MyStatefulWidget({Key key, this.size}) : super(key: key);
@override
_MyStatefulWidgetState createState() => _MyStatefulWidgetState();
}
class _MyStatefulWidgetState extends State<MyStatefulWidget> {
String selectedPurpose;
@override
Widget build(BuildContext context) {
return DropdownButton<String>(
value: selectedPurpose,
style: TextStyle(color: Colors.deepPurple),
hint: Text(
'Select visitng purpose',
style: TextStyle(fontFamily: "Gotham"),
),
onChanged: (String Value) {
setState(() {
selectedPurpose = Value;
});
},
items: widget.size.map<DropdownMenuItem<String>>((String purposeTemp) {
return DropdownMenuItem<String>(
value: purposeTemp,
child: Text(purposeTemp, style: TextStyle(fontFamily: "Gotham")),
);
}).toList(),
);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.