【发布时间】:2021-06-12 08:38:18
【问题描述】:
当内部列表向上滚动时,我需要关闭底部工作表。底部表仅包含一个列表。根据文档,showModalBottomSheet 中的参数isScrollControlled 是我需要的。函数的documentation。
isScrollControlled 参数指定这是否是将使用 DraggableScrollableSheet 的底部工作表的路由。如果您希望底部工作表具有可滚动的子项(例如 ListView 或 GridView)并且底部工作表可拖动,则应将此参数设置为 true。
我的代码:
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
static const String _title = 'Flutter Code Sample';
@override
Widget build(BuildContext context) {
return MaterialApp(
title: _title,
home: ModalBottomSheetSample(),
);
}
}
class ModalBottomSheetSample extends StatelessWidget {
Widget build(BuildContext context) {
return Center(
child: ElevatedButton(
child: const Text('showModalBottomSheet'),
onPressed: () {
showModalBottomSheet<void>(
context: context,
isScrollControlled: true,
enableDrag: true,
isDismissible: true,
builder: (BuildContext context) {
return Container(
height: 248,
child: ListView.builder(itemBuilder: (context, index) {
return ListTile(title: Text("i'm tile ${index}"));
}),
);},
);},
),
);
}
}
Modal BottomSheet 已打开,但是当我向上滚动列表时,它不会影响工作表,也不会向下拖动。
为什么它不起作用,我怎样才能使它起作用?
【问题讨论】: