flutter - 为什么我收到错误,flutter statfulwidget flutter 中的常量值无效
问题描述
在下面的代码中,widget.hintText 给出了错误,我试图将 datepicker 作为单独的组件,并在从另一个文件调用它时动态传递提示文本值。
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) {
},
);
}
}
解决方案
错误来自在widget.hint
const 对象内部使用变量的事实InputDecoration
我在date_field代码中找不到强制您使用常量的任何地方decoration
所以你可能只是删除const
前面的关键字InputDecoration
有关和之间的区别的详细信息,请参阅此答案const
final
推荐阅读
- three.js - 具有环境光强度的 Three.js 片段着色器
- android-studio - 无法在 Android Studio 3.6.1 中使用 Appodeal SDK 离线构建
- python - 如何在 python 中使用 if elif 和 else 在每个月的第一天执行一个操作以创建一个新的 json 文件?
- android - dart编程语言中的static const和const是什么意思?
- mysql - 如何知道 MySQL 中的字段是 BINARY 类型?
- vue.js - 属性或方法“名称”未在实例上定义,但在 vuejs 渲染期间引用?
- java - Spring Boot 控制器测试总是返回 404
- c++ - 如何从子类对象访问超类函数
- python - 从 dict 上的 for 循环到多处理
- javascript - Ember Octane 升级:如何处理 eslint 错误无操作