如何修复此弱警告? "The field doesn’t override an inherited getter or setter."



显示如下:"The field doesn’t override an inherited getter or setter."由于这个问题,我无法在Git中推送我的代码,因为它在测试和分析中失败了。

关于如何解决这个问题,有什么建议吗?我将_startDate_endDate从Override中移出,但现在它显示:displayDatePicker的"The method doesn’t override an inherited method."

import 'package:intl/intl.dart';
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:date_range_picker/date_range_picker.dart' as DateRagePicker;
class Datepicker extends StatefulWidget {
@override
_DatepickerState createState() => _DatepickerState();
}
class _DatepickerState extends State<Datepicker> {
DateTime _startDate = DateTime.now();
DateTime _endDate = DateTime.now().add(Duration(days: 7));
@override
Future displayDatePicker(BuildContext context) async {
{
final List<DateTime> picked = await DateRagePicker.showDatePicker(
context: context,
initialFirstDate: _startDate,
initialLastDate: _endDate,
firstDate: new DateTime(DateTime.now().year),
lastDate: new DateTime(DateTime.now().year + 2));
if (picked != null && picked.length == 2) {
setState(() {
_startDate = picked[0];
_endDate = picked[1];
});
}
}
}
@override
Widget build(BuildContext context) {
return Container(
child: Column(
children: [
RaisedButton(
child: Text('select Date'),
onPressed: () async {
await displayDatePicker(context);
},
color: Colors.red,
textColor: Colors.white,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(18.0),
side: BorderSide(color: Colors.red)),
),
//Text("from:${_startDate}"),
//Text("until:${_endDate}"),
Text(
"from:${DateFormat('MM/dd/yyyy').format(_startDate).toString()}"),
Text("until:${DateFormat('MM/dd/yyyy').format(_endDate).toString()}")
],
),
);
}
}

displayDatePicker不是State<Datepicker>的方法,因此,我们只需要删除Future displayDatePicker:上方的@override

// remove this line ---> @override
Future displayDatePicker(BuildContext context) async {
{
final List<DateTime> picked = await DateRagePicker.showDatePicker(
context: context,
initialFirstDate: _startDate,
initialLastDate: _endDate,
firstDate: new DateTime(DateTime.now().year),
lastDate: new DateTime(DateTime.now().year + 2));
if (picked != null && picked.length == 2) {
setState(() {
_startDate = picked[0];
_endDate = picked[1];
});
}
}
}

相关内容

最新更新