有谁知道是否可以扩展颤振小部件?

时间:2021-05-16 20:07:20

标签: flutter widget

是否可以扩展小部件?以 CalendarDatePicker 小部件为例。我喜欢现有的功能,但我希望能够扩展它。

我希望能够在每一天下面都有一些事件,无论是一个事件还是多个事件。如果一天没有任何事件,那么在该天下不需要显示任何内容。事件将来自 Firebase Firestore。

原因是:

  1. 我喜欢 CalendarDatePicker,我更喜欢不必安装新软件包。我看到人们正在使用 Table_Calendar。这很好,但我正在尝试重用已有的东西,并避免安装太多软件包。
  2. 如果已经完成了 98% 的工作,我不想从头开始设计。

谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用 extends 关键字扩展小部件并覆盖其属性和方法(请参阅 docs)。它是简单的 OOP 继承。但无论如何你应该完全覆盖构建方法来补充现有的 UI。这样做,将 CalendarDatePicker 构建方法中的现有代码复制到您的自定义类构建方法中,并根据需要更新此代码:

class CustomDatePicker extends CalendarDatePicker {
  const CustomDatePicker({
    Key? key,
    // here you can use constructor properties that you need
    // and pass them to superclass constructor
  }) : super(...);

  @override
  Widget build(BuildContext context) {
    // use code from CalendarDatePicker build method
    // and update it as you wish
  }
}