どうも、ちょげ(@chogetarou)です。
複数のテキストから1つのテキストを選択する方法を紹介します。
方法

テキストを選択するには、DropdownButtonウェジェットを使います。
まず、DropdownButtonの引数「items」にDropdownMenuItemで選択肢を指定します。
DropdownButton(
items: [
DropdownMenuItem(
child: Text('選択肢1'),
value: '値1',
),
DropdownMenuItem(
child: Text('選択肢2'),
value: '値2',
),
DropdownMenuItem(
child: Text('選択肢3'),
value: '値3',
),
・・・・
],
),
次に、DropdownButtonの引数「value」に現在選択されているテキストを指定します。
最後に、引数「onChanged」に選択されたテキストが変更された時の処理を指定します。
DropdownButton(
items: [
・・・
],
value: /*選択中のテキスト*/,
onChanged: (String? value) {
//変更された時の処理
},
),
使用例
以下は、使用例です。
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
var _text = 'Hello';
@override
Widget build(BuildContext context) {
return SafeArea(
child: Scaffold(
body: Center(
child: DropdownButton(
items: [
DropdownMenuItem(
child: Text('Hello'),
value: 'Hello',
),
DropdownMenuItem(
child: Text('Hola'),
value: 'Hola',
),
DropdownMenuItem(
child: Text('こんにちは'),
value: 'こんにちは',
),
],
value: _text,
onChanged: (String? value) {
setState(() {
_text = value!;
});
},
),
),
),
);
}
}
まとめ
テキスト(text)を選択するには、DropdownButtonを使います。
コメント