美文网首页
[Flutter] 事件的传递(回调)

[Flutter] 事件的传递(回调)

作者: BudSwift | 来源:发表于2020-08-05 21:39 被阅读0次

在一个子视图上有事件需要操作数据的情况下,应该想到:

  • 由数据的持有者本身(model)进行数据操作
  • 将事件回调到数据持有者进行处理
    在 Flutter 中子视图的事件可以通过闭包函数的形式进行回调
    参考前面的文章[列表的使用和 widget 的封装](https://www.jianshu.com/p/35a98564908d的示例,为 MessageCard 新增一个回调函数。
class MessageCard extends StatelessWidget {
    Message data;
    Function delete; // 点击删除按钮时的回调
    
    // 提供一个语义清晰的构造器
    MessageCard({this.data, this.delete});

    Widget build(BuildContext context) {
      return Column(
       children: <Widget>[
             Text(data.text),
              FloatButton(
                onPressed: delete, 
                label: Text("删除"), 
                icon: Icon(Icons.delete)),
              ],
        ),
    }
}

而对应地在构造 MessageCard 时需要传入闭包函数,并且嵌套在 setSate() 中。

// main.dart
MessageCard(data: item, delete: () {
        setState(() {
            list.remove(item);
        });
});
```““‘

相关文章

  • [Flutter] 事件的传递(回调)

    在一个子视图上有事件需要操作数据的情况下,应该想到: 由数据的持有者本身(model)进行数据操作 将事件回调到数...

  • Android事件传递

    练习心得 事件传递优先级:listener > view回调 > activity回调,如果在回调环节事件处理方法...

  • libevent笔记

    bufferevent.h 传递到事件回调函数的事件 读写回调函数的原型 错误回调函数的原型 创建bufferev...

  • FlutterBoost事件传递以及生命周期监听

    Flutter向Native传递事件 Dart:发送事件 Swift:接收事件 Native向Flutter传递事...

  • Android的NestedScroll机制

    Android Touch事件的传递 Activity接收Touch事件回调onTouchEvent,并且将Tou...

  • Swift 中,Target-Action 模式的使用

    在 Swift 中,给 button 添加点击回调处理事件:需要给回调事件中传递参数 /// 给按钮添加带参回调事...

  • jquery事件绑定

    事件绑定 1. jquery标准的绑定方式 jq对象.事件方法(回调函数); 注:如果调用事件方法,不传递回调函数...

  • 深入理解回调 CallBack

    相信大家都知道委托和事件,没错,委托和事件是用来传递和保存函数用的,那么 回调 呢,近段时间的学习中经常碰到 回调...

  • 微信小程序原生开发技巧及跳坑心得

    常用功能 1、事件带参 在微信小程序中,给事件的回调函数内部传递参数不是通过函数调用传递实参的方式传递的,而是通过...

  • 接口回调

    接口回调的重点是进行信息的的传递,包括数据的传递,还有事件的传递。下面是一个很常见的例子: 我们来根据事件驱动的逻...

网友评论

      本文标题:[Flutter] 事件的传递(回调)

      本文链接:https://www.haomeiwen.com/subject/tlxarktx.html