こう書いておくと
enum enumVisitStatus { all, fin, unfin, noChkSaseki, noChkKeiri, } // 抽出条件の初期化 ref.read(scheduleListCondProvider.state).update( (state) => state.copyWith( syokuinCode: loginState.syokuinCode, isSaseki: loginState.isSaseki, dateFrom: DateTime.now(), dateTo: DateTime.now(), visitStatus: enumVisitStatus.all.name, // 'all'が代入される。。 すげー selectType: enumSelectType.helper.name, selectTypeCode: loginState.syokuinCode )); // 文字列から列挙値を求める(DBから値を持ってくる場合) debugPrint( enumVisitStatus.values.byName('all')); final List<DropdownMenuItem<String>> _visitStatusItems = const [ DropdownMenuItem( value: enumVisitStatus.all.name, child: Text('全て')), // エラーになる。。 DropdownMenuItem(value: 'complete', child: Text('終了')), DropdownMenuItem(value: 'incomplete', child: Text('未終了')), DropdownMenuItem(value: 'is_sc_check', child: Text('担当未確認')), DropdownMenuItem(value: 'is_ac_check', child: Text('経理未確認')), ];
んじゃMAPからリストを作りましょうか、、
final Map<String, String> _visitStatusItems = { enumVisitStatus.all.name: '全て', enumVisitStatus.complete.name: '終了', enumVisitStatus.incomplete.name: '未終了', enumVisitStatus.noChkSaseki.name: '担当未確認', enumVisitStatus.noChkKeiri.name: '経理未確認', }; //マップから選択項目を作成する。 List<DropdownMenuItem<String>> getMap2SelItems(Map<String, String> selItemMap) { return selItemMap.entries.map((entry) { return DropdownMenuItem( child: Text(entry.value), value: entry.key, ); }).toList();