我创建了一个按钮小部件,我想我的按钮图标是可选的.所以当我想写条件为它,它不会接受它.这里是我的代码:
import 'package:flutter/material.dart';
Widget CustomButtom({
String? title,
EdgeInsetsGeometry? paddin,
EdgeInsetsGeometry? margin,
double? width,
double? height,
Color? backgroundColor,
dynamic? onPress,
Color? fontColor,
double? fontsize,
double borderRaidius = 10,
bool showIcon = true,
Icon? buttonIcons,
}) {
return Container(
width: width,
height: height,
child: Directionality(
textDirection: TextDirection.rtl,
child: ElevatedButton.icon(
style: ElevatedButton.styleFrom(
backgroundColor: backgroundColor,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(borderRaidius),
)),
onPressed: onPress,
icon: showIcon? buttonIcons!:null,
label: Text(
'$title',
style: TextStyle(fontSize: 20),
),
),
),
);
}
这就是我得到的错误
参数类型“Icon?”不能赋给参数类型“Widget”。
1条答案
按热度按时间cigdeys31#
我建议将其拆分为两个不同的小部件,当
showIcon
为false时使用普通的ElevatedButton
,例如:请注意,当您将
showIcon
作为true
,而将buttonIcons
作为null
时,您将得到一个异常。也许最好忽略showIcon
,只检查buttonIcons
是否为null
,或者不在两者之间做出决定。