Flutter:下拉框选择

文档地址dropdown_button2
// 限价、市价 状态final List<String> orderTypes = ['普通委托', '市价委托'];String? selectedOrderType = '普通委托';changeOrderType(String type) {selectedOrderType = type;update(["continuous"]);}// 杠杆final List<String> leverages = ['1X', '5X', '10X', '20X', '50X'];String? selectedLeverage = '1X';changeLeverage(String leverage) {selectedLeverage = leverage;update(["continuous"]);}// 委托Widget _buildLeftOrderType() {return DropdownButtonHideUnderline(child: DropdownButton2<String>(isExpanded: true,value: controller.selectedOrderType,items: controller.orderTypes.map((item) => DropdownMenuItem<String>(value: item,child: TextWidget.body(item,size: 26.sp,color: AppTheme.color000,),)).toList(),onChanged: (value) {controller.changeOrderType(value!);},buttonStyleData: ButtonStyleData(height: 72.w, // 高度和你的红框一致width: 180.w, // 宽度自适应父容器padding: EdgeInsets.only(left: 20.w, right: 0,),decoration: BoxDecoration(borderRadius: BorderRadius.circular(10.w),color: AppTheme.colorGreen,),),dropdownStyleData: DropdownStyleData(width: null, // 跟随按钮宽度decoration: BoxDecoration(color: AppTheme.dividerColor,borderRadius: BorderRadius.circular(4),),offset: const Offset(0, 0), // 默认正下方弹出),),);}// 杠杆Widget _buildLeftLeverage() {return DropdownButtonHideUnderline(child: DropdownButton2<String>(isExpanded: true,value: controller.selectedLeverage,items: controller.leverages.map((item) => DropdownMenuItem<String>(value: item,child: TextWidget.body(item,size: 26.sp,color: AppTheme.color000,),)).toList(),onChanged: (value) {controller.changeLeverage(value!);},buttonStyleData: ButtonStyleData(height: 72.w, // 高度和你的红框一致width: 140.w, // 宽度自适应父容器padding: EdgeInsets.only(left: 20.w, right: 0,),decoration: BoxDecoration(borderRadius: BorderRadius.circular(10.w),border: Border.all(width: 1,color: AppTheme.dividerColor2),),),dropdownStyleData: DropdownStyleData(width: null, // 跟随按钮宽度decoration: BoxDecoration(color: AppTheme.dividerColor,borderRadius: BorderRadius.circular(4),),offset: const Offset(0, 0), // 默认正下方弹出),),);}