为什么我收到错误,在 flutter statfulwidget flutter 中无效的常量值

Why I'm getting the error, Invalid constant value in flutter statfulwidget flutter

在下面的代码中 widget.hintText 给出了错误,我试图将日期选择器作为单独的组件并在从其他文件调用它时动态传递提示文本值。

import 'package:date_field/date_field.dart';
import 'package:flutter/material.dart';


class DatePicker extends StatefulWidget {
  final String hintText;
  DatePicker({
    this.hintText,
    Key key,
  }): super(key: key);

  @override
  _DatePickerState createState() => _DatePickerState();
}
class _DatePickerState extends State<DatePicker> {
  @override
  Widget build(BuildContext context) {
    return DateTimeFormField(
  decoration: const InputDecoration(
    hintText: widget.hintText,
    hintStyle: TextStyle(color: Colors.black54,fontSize: 16),
    errorStyle: TextStyle(color: Colors.redAccent),
    suffixIcon: Icon(Icons.event_note),
  ),
  mode: DateTimeFieldPickerMode.date,
  autovalidateMode: AutovalidateMode.always,
  // validator: (e) => (e?.day ?? 0) == 1 ? 'Please not the first day' : null,
  onDateSelected: (DateTime value) {
  },
);
  }
}


您可以尝试从字符串中删除 final 关键字

错误来自于在 const 对象 InputDecoration

中使用变量 widget.hint

我在 date_field 代码中找不到强制您使用常量的地方 decoration

所以您可以删除 InputDecoration

前面的 const 关键字

constfinal

的区别详见