Flutter使用FlexFit.loose报错:参数类型'FlexFit'无法赋值给'int'
问题解决:FlexFit类型无法赋值给int类型参数
你报错的核心原因是把FlexFit.loose放错了Flexible组件的参数位置:
Flexible的flex参数要求传入整数(用来设置弹性空间的权重比例)FlexFit.loose是fit参数的合法取值,用来控制子组件的空间适配方式
修复后的代码
将你的Flexible组件代码修改为:
return Flexible( fit: FlexFit.loose, // 把FlexFit.loose放到fit参数中 child: ChartBar( data['day'] as String, data['amount'] as double, (data['amount'] as double) / totalSpending), );
如果需要自定义弹性权重,可以同时添加flex参数(默认值为1):
return Flexible( flex: 1, fit: FlexFit.loose, child: ChartBar( data['day'] as String, data['amount'] as double, (data['amount'] as double) / totalSpending), );
补充说明
Flexible的两个核心参数作用:
flex: 整数类型,决定子组件在主轴上分配到的空间比例,数值越大占比越高,默认值为1fit:FlexFit枚举类型,包含两个选项:FlexFit.loose: 子组件仅占用自身所需的最小空间,不会扩展填满分配到的空间FlexFit.tight: 子组件会填满分配到的所有可用空间
内容的提问来源于stack exchange,提问作者Neeraj suman
相关产品推荐
相关产品推荐

