flutter项目中定义了一个类,我的想法是,所有内部属性都定义成下划线开头,然后提供一批同名的,不带下划线的get属性供外部访问,但是我发现构造函数里面的名称必须不带下滑,
我发现,非构造函数里面的属性可以通过这种思路,引用类型(如:_columns)也可以通过这种思路,但是_tableWrapperWidth
切不可以,该如何处理?
import 'package:flutter/material.dart';
class GridStateManage with ChangeNotifier {
final List<String> _columns;
final int _tableWrapperWidth;
Color tableBgColor; // 表格背景色
List<String> get columns => _columns;
GridStateManage({
required List<String> columns, //不报错
this.tableWrapperWidth = 10, // 报错,提示必须定义该属性才能使用
this.tableBgColor = Colors.white,
}) : _columns = columns;
}
因为你的this.tableWrapperWidth指的是getter啊,你改为double tableWrapperWidth然后_tableWrapperWidth = tableWrapperWidth就好了。另外宽度应该是double吧,如果参与运算可能会有问题,定义double比较稳妥。