我正在创建可扩展数据。我尝试使用“扩展”图标小部件。但扩展图标无法正常工作。按钮状态未更改。
验证码:
bool _isExpanded = true;
Container(
color: const Color(0xffeaeaea),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Container(
child: Text('Description'),
),
ExpandIcon(
expandedColor: Colors.black,
color: Colors.black,
isExpanded: _isExpanded,
onPressed: (bool _isExpanded) {
setState(() {
_isExpanded = !_isExpanded;
});
}),
]),
),
if (_isExpanded) const Text('Data'),
2条答案
按热度按时间bmp9r5qi1#
你的代码中的问题是你在onPressed方法的回调中使用了私有bool变量,这导致了问题。
下面是工作代码:
iyfamqjs2#
在MyScreen类内部但在_MyScreenState类外部声明_isExpanded布尔变量,可以使其成为MyScreen类的成员变量。它允许您从build()方法和ExpandIcon小部件的onPressed回调访问该变量。
请尝试此代码: