[英]flutter / dart reflectable package : Not reflecting base/super class members
[英]Flutter dart call super of super class method
这是我的架构,我有两个 statfull 小部件: ProfilePicture, RoundedProfilePicture
。 ProfilePicture
是一个有状态的小部件,它有复杂的自定义代码,很容易出错,所以我不想复制粘贴它,它利用来自Picture
abstract class 的变量。 (即获取服务器数据并将它们存储在Picture
的变量中)。 我想要做的是我想从这个小部件 state 扩展,以便我可以创建一个新的小部件RoundedProfilePicture
。 这个小部件 state 将基本上利用ProfilePicture
的 state 和 inheritance 的复杂代码,它会添加一些额外的小逻辑。 所以我认为 inheritance 是这里的最佳选择。 这是我到目前为止尝试过的
class ProfilePictureState extends State<ProfilePicture> implements Picture{
// SOME LONG COMPLICATED 500 LINE OF CODE
}
class RoundedProfilePictureState extends ProfilePictureState {
@override
void initState() {
super.initState(); // this calls ProfilePictureState.initState() call. I want to call State<ProfilePicture>.initState()
}
}
我的问题是RoundedProfilePictureState
中的 void initState()
要求我进行super.initState()
调用。 此调用进行ProfilePictureState.initState()
调用。 我想调用State<ProfilePicture>.initState()
因为我想在我的 init state 调用中添加不同的逻辑。 所以结构是:
----abstract State class
---ProfilePictureState
--RoundedProfilePictureState
如何从RoundedProfilePictureState
调用抽象 State 类的initState
方法? 这可能吗?
由于没有人回答,这就是我解决这个问题的方法。 我认为这是不可能实现的。 我所做的是将代码和所有变量移至mixin
。 这样做花了一两个小时。 我实现了我的需求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.