我想在顫振中訪問有狀態小部件中的靜態變數。但它不起作用。有人說這是一個私人小部件,我無法訪問它。那么如何訪問isCollapsed
以下代碼中的變數:
class BottomNavBar extends StatefulWidget {
final int activeTabIndex;
const BottomNavBar({Key? key, required this.activeTabIndex})
: super(key: key);
@override
_BottomNavBarState createState() => _BottomNavBarState();
}
class _BottomNavBarState extends State<BottomNavBar> {
static var isCollapsed = false;
@override
Widget build(BuildContext context) {
Scaffold(
body: SlidingUpPanel(
controller: _pc,
panelBuilder: (sc) {
if (isCollapsed == false) _pc.hide();
if (isCollapsed == true) _pc.show();
return Container(
child: Center(child: Text("Panel")),
);
},
body: Text("something");
), }
}
我想在另一個類中更改 isCollapsed,當單擊圖示時,isCollapsed 更改為 true。
class _PlayerPreviewState extends State<PlayerPreview> {
@override
Widget build(BuildContext context) {
final String play = 'assets/icons/play.svg';
var pageWidth = MediaQuery.of(context).size.width;
return Padding(
padding: EdgeInsets.only(top: pageWidth * .04),
child: IconButton(
onPressed: () {
},
icon: SvgPicture.asset(play),
),
);}}
任何人都可以幫助我,我該怎么做?
uj5u.com熱心網友回復:
是的,_BottomNavBarState
是私有的,因為它以下劃線開頭_
。如果你想公開它,_
從名字中洗掉它會像
@override
BottomNavBarState createState() => BottomNavBarState();
}
class BottomNavBarState extends State<BottomNavBar> {
static var isCollapsed = false;
并在任何地方使用BottomNavBarState.isCollapsed
,但我應該更喜歡狀態管理,而變數對狀態有影響。
更多關于
- 狀態管理
- 鏢
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/320743.html
上一篇:Python-如何回傳從匯入的Python函式定義的變數?
下一篇:一起添加變數的問題