Kendo UI:在 TextBox 中的 KeyPress 上强制更新 ViewModel
Posted
技术标签:
【中文标题】Kendo UI:在 TextBox 中的 KeyPress 上强制更新 ViewModel【英文标题】:Kendo UI: Force update of ViewModel on KeyPress in TextBox 【发布时间】:2014-08-30 19:25:36 【问题描述】:我有一个文本框字段,它的 value 属性绑定到我的 ViewModel 中的一个属性。
问题在于 ViewModel 默认在文本框的“更改”事件上更新(当文本框失去焦点时)。
我希望在执行按键事件时更新 ViewModel。
我不想在每次按键时强制“更改”事件,因为该事件处理程序中有一些逻辑,并且不必为每次按键执行。
有没有办法告诉 Kendo 在不触发“更改”事件的情况下更新 ViewModel?
我知道我可以手动修改 ViewModel,但我想要一些更简单和自动化的东西。
感谢您的回答,
会【问题讨论】:
【参考方案1】:使用数据值更新属性。使用“keypress”事件不会更新绑定模型的最后一个字符,因此请改用“keyup”事件。
<input id="name" type="text"
data-bind="value: name" data-value-update="keyup">
我最初使用“keypress”进行测试,但在 ViewModel 中输入文本“abcd”会导致“abc”。
【讨论】:
让它成为一个可以独立的答案,即使 CodingWithSpike 的答案会被删除,因为它是对答案的评论,而不是答案。 谢谢,笨蛋。我改为将回复的格式更改为答案。 不幸的是,它不适用于他们的小部件(maskedtextbox,numberictextbox)【参考方案2】:您可以将data-value-update
属性添加到您的元素:
<input data-bind="value: someValue"
data-value-update="keypress" />
文档在这里:Controlling When the ViewModel is Updated
【讨论】:
【参考方案3】: <input type="text" data-value-update="keypress" data-bind="value: searchBySystemValue, events: keypress: onkeypressEvent "/>
你可以在事件中添加功能
【讨论】:
以上是关于Kendo UI:在 TextBox 中的 KeyPress 上强制更新 ViewModel的主要内容,如果未能解决你的问题,请参考以下文章
Kendo Numeric Textbox w。自定义格式 - 不工作
弹出窗口在 Kendo UI 网格中的工作原理以及如何在 MVC4 的 Kendo UI ajax 网格中将控件带入弹出窗口
Kendo Grid Edit Bootstrap 类和 Textbox 自动对焦与 EditorTemplate 不起作用