Flutter:类继承问题

afdcj2ne  于 11个月前  发布在  Flutter
关注(0)|答案(1)|浏览(108)

如果可能的话,你可以帮助我识别Flutter中嵌套类的问题。
AccountEditPage(uuid)-> AccountAddPage(title)-> AbstractPage(selectedMenu)AccountEditPageState -> AccountAddPageState -> AbstractPageState
由于某些原因,无法从AccountEditPageState访问widget.uuid,并失败,并显示错误The getter 'uuid' isn't defined for the type 'AccountAddPage'.
代码

import 'package:flutter/material.dart';

class AccountEditPage extends AccountAddPage {
  String uuid;

  AccountEditPage({
    required this.uuid,
  }) : super();

  @override
  AccountEditPageState createState() => AccountEditPageState();
}

class AccountEditPageState extends AccountAddPageState<AccountEditPage> {
  String get uuid => widget.uuid; // ERROR: The getter 'uuid' isn't defined for the type 'AccountAddPage'.
}

class AccountAddPage extends AbstractPage {
  String? title;

  AccountAddPage({
    this.title,
  }) : super();

  @override
  AccountAddPageState createState() => AccountAddPageState();
}

class AccountAddPageState<T extends AccountAddPage> extends AbstractPageState<AccountAddPage> {
  String? get title => widget.title; // OK
}

abstract class AbstractPage<T> extends StatefulWidget {
  int selectedMenu = 0;

  AbstractPage() : super(key: UniqueKey());
}

abstract class AbstractPageState<T extends AbstractPage> extends State<T> {
  @override
  Widget build(BuildContext context) {
    return Text('test');
  }
}

先谢谢你了!

whitzsjs

whitzsjs1#

解决方案并不明显,但下一个:

(widget as AccountEditPage).uuid

相关问题