如何订阅Spec对象(TextInputField)

时间:2019-01-19 19:03:59

标签: events pharo

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

1 个答案:

答案 0 :(得分:6)

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

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

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

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