我想当我点击其中一个扩展块时,其余的项目都关闭了,我该怎么做?
参考以下示例代码:
import 'package:flutter/material.dart';
class PickPlanPage extends StatefulWidget {
const PickPlanPage({Key? key}) : super(key: key);
@override
State<PickPlanPage> createState() => _PickPlanPageState();
}
class _PickPlanPageState extends State<PickPlanPage> {
bool initiallyExpanded = false;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(),
body: ListView.separated(
itemCount: 5,
separatorBuilder: (context, index) => const SizedBox(height: 20),
itemBuilder: (context, index) => ExpansionTile(
initiallyExpanded: false,
title: const Text('title'),
onExpansionChanged: (value) => setState(() => initiallyExpanded = value),
children: const [
Text('Description'),
],
),
),
);
}
}
2条答案
按热度按时间rsl1atfo1#
您只需稍加修改就可以在现有代码中存档。
确保你需要添加
key
到ListView &ExpansionTile
窗口小部件.尝试下面的代码.42fyovps2#
您可以使用
ExpansionPanelList
并跟踪所选项目的点击事件。