首页 > 解决方案 > 如何订阅 Spec 对象 (TextInputField)

问题描述

我有带有 textArea 和 textInputField 的简单 Spec 对象。在它旁边,我有另一个 Spec 不知道的对象。当我将一些文本写入 textInputField 时,我需要将带有该文本的消息发送到其他类。我试过播音员,但它不起作用。有什么方法可以通知其他对象并将此文本发送给它?

标签: eventspharo

解决方案


您正在寻找acceptBlock:每次文本值更改时都会调用一个块:

| cm |
cm := TextInputFieldPresenter new.
cm autoAccept: true.
cm acceptBlock: [ :txt | doSomething with: txt.].

您可以在规范手册中找到有关规范的更多信息:http: //books.pharo.org/spec-tutorial/

请注意,在较新版本的 pharo 中,规范类已被重命名为...Model尚未...Presenter反映在手册中。因此,您是否使用TextInputFieldModelTextInputFieldPresenter取决于您的 pharo 版本。


推荐阅读