gpt4 book ai didi

android - 如何使用其所有属性扩展小部件

转载 作者:行者123 更新时间:2023-12-03 04:58:19 25 4
gpt4 key购买 nike

在这里,我创建了返回IconButton小部件的类。

class IconBtn extends StatelessWidget {

const IconBtn({
Key key,
this.onPressed,
this.clr,
@required this.icon,

}) : super(key: key);

final VoidCallback onPressed;
final IconClass icon;

@override
Widget build(BuildContext context) {

return IconButton (
onPressed: (){},
color: Colors.red,
icon: icon,
);

}
}


然后在调用类时,我只能访问在IconBtn类中已经定义的属性。我想在另一个类的扩展中使用IconButton的所有属性。欢迎建议..!
 Widget build(BuildContext context) {

return IconBtn (
icon: IconClass(icon :Icons.search),
onPressed: () {},
)
}

最佳答案

IconBtn是一种StatelessWidget,与IconButton类没有任何关系,只不过它在其build函数中使用了它。您看到的IconBtn的每个属性都是它的构造函数参数,这意味着,除非您将IconButton的所有属性定义为IconBtn类的属性,否则您将无法访问IconButton的所有属性。

注意:即使您将IconButton的所有属性都定义为IconBtn,它们也是IconBtn类的属性,而不是IconButton类,但是您可以按照自己的示例所示将这些值传递给IconButton类。

还有一件事,Flutter更像是继承而不是继承,因此您的方法是正确的。如果需要,可以随时向IconBtn类添加更多属性。

正如@huextrat所建议的,如果您确实需要IconButton的所有属性,则可以将IconButton小部件本身作为解决问题的参数之一,但是通常我们只需要某些属性。

关于android - 如何使用其所有属性扩展小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60146967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com