繁体   English   中英

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

[英]Does anyone know if it is possible to extend a flutter widget?

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

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

原因是:

  1. 我喜欢 CalendarDatePicker,而且我不想安装新的 package。 我看到人们正在使用 Table_Calendar。 这很好,但我试图重用已经存在的东西,并远离安装太多的包。
  2. 当有一个已经完成了需要完成的 98% 的工作时,我不想从头开始设计一个。

谢谢

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

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
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM