【问题标题】:How to open slideble widget programmatically from the outside in Flutter如何在 Flutter 中以编程方式从外部打开滑动小部件
【发布时间】:2021-11-04 09:23:48
【问题描述】:

我有一排ListTilesSlidable 作为他们的孩子。我需要通过AppBar 中的操作打开Slidable(类似于Apple Music 中的编辑方式)。由于这发生在Slidable 小部件之外,我无法从Slidable.of(context) 获取SlidableState。有没有办法做到这一点,或者可能有一个类似的小部件可以更轻松地完成这项工作?

例子:

@override
Widget build(BuildContext context) {
  return Scaffold(
  appBar:AppBar(
    title: Text('Title'),
    actions: [
      <EditButton()>, #has to open the slidable
    ],
  ),
  body: Column(
    children: [
       Slidable: (
         child: ListTile(tile: Text('text'),
         actionPane: SlidableScrollActionPane(),
         actions: [
            IconButton(onPressed: () {delete()}, icon: Icon(Icons.delete)),
          ],
       ),
    ],
  ),
}

【问题讨论】:

  • 你在使用flutter_slidable吗?
  • 我相信你可以在滑动控制器的帮助下做到这一点。 github.com/letsar/flutter_slidable/issues/6
  • 是的。我正在使用flutter_slidable。我正在创建一个自定义库,因此没有在那里使用状态管理。我会进一步研究 Slidable Controller,谢谢。

标签: flutter dart mobile widget


【解决方案1】:

使用状态管理解决方案。

大多数状态管理工具都有一个叫做反应/回调的东西,使用那个功能。

以下是要遵循的步骤:

  1. 创建一个状态变量,然后添加定义一个反应以在状态变量具有特定值时打开页面上的滑块。
  2. 点击编辑按钮更改状态变量

如果一切正常,您的滑块将被打开。

(这是一种做事方式——还有很多其他方式可以实现)

【讨论】:

    猜你喜欢
    • 2021-05-07
    • 2017-11-13
    • 2021-03-01
    • 2022-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多