小编Kév*_*vin的帖子

更改UITextField的文本不会触发rx.text绑定器

我有一个UITextField名为commentField,我创建了Observable<Bool>这样的:

let isCommentFieldValid = self.commentField.rx.text.orEmpty.map({ !$0.isEmpty })
Run Code Online (Sandbox Code Playgroud)

此可观察量确定是否启用按钮.问题是当我更改commentField喜欢这个的文本属性时:

self.commentField.text = ""
Run Code Online (Sandbox Code Playgroud)

isCommentFieldValid不会再次触发,因此,按钮的状态不会改变.使用UI的任何版本都可以工作:如果我通过键盘从字段中删除所有文本,则isCommentFieldValid会更新,但是通过代码它不会更新.

有什么理由不起作用吗?

swift rx-swift rx-cocoa

2
推荐指数
1
解决办法
1026
查看次数

标签 统计

rx-cocoa ×1

rx-swift ×1

swift ×1