你如何替换飞镖中的听众?

Ala*_*rey 2 listener dart

我有一个类创建一个按钮并将一个监听器连接到click事件.在一个子类中,我想替换超类处理程序.此代码添加了一个监听器:

row.query("[value='Save']").onClick.listen(handleNewAlert);
Run Code Online (Sandbox Code Playgroud)

如何删除现有的侦听器?

Gre*_*owe 5

所述Stream.listen()方法返回一个StreamSubscription对象.调用StreamSubscription.cancel()取消事件监听器.

var subs = element.onClick.listen((e) => print(e));

// Remove the listener.
subs.cancel();

// Add another listener.
element.onClick.listen((e) => print(e));
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅此文章.