// 是否需要 显示/设置 对应的选项 // import 'package:flutter_pickers/time_picker/model/date_mode.dart'; import 'package:star_lock/tools/pickers/time_picker/model/date_mode.dart'; class DateItemModel { DateItemModel( this.year, this.month, this.day, this.hour, this.minute, this.second); DateItemModel.parse(DateMode dateMode) { year = DateModeMap[dateMode]!.contains('年'); month = DateModeMap[dateMode]!.contains('月'); day = DateModeMap[dateMode]!.contains('日'); hour = DateModeMap[dateMode]!.contains('时'); minute = DateModeMap[dateMode]!.contains('分'); second = DateModeMap[dateMode]!.contains('秒'); } late bool year; late bool month; late bool day; late bool hour; late bool minute; late bool second; // 返回需要显示多少个picker int get length { int i = 0; if (year) { ++i; } if (month) { ++i; } if (day) { ++i; } if (hour) { ++i; } if (minute) { ++i; } if (second) { ++i; } return i; } } const DateModeMap = { DateMode.YMDHMS: '年月日时分秒', DateMode.YMDHM: '年月日时分', DateMode.YMDH: '年月日时', DateMode.YMD: '年月日', DateMode.YM: '年月', DateMode.Y: '年', DateMode.MDHMS: '月日时分秒', DateMode.MDHM: '月日时分', DateMode.MDH: '月日时', DateMode.MD: '月日', DateMode.HMS: '时分秒', DateMode.HM: '时分', DateMode.MS: '分秒', DateMode.S: '秒', DateMode.M: '月', DateMode.H: '时' };