Kendo UI:强制在TextBox中的KeyPress上更新ViewModel

时间:2014-07-09 16:37:56

标签: mvvm binding kendo-ui

我有一个文本框字段,其value属性绑定到我的ViewModel中的属性。

问题是ViewModel默认在文本框的“已更改”事件上更新(当文本框失去焦点时)。

我希望在执行keypress事件时更新ViewModel。

我不想在每个按键中强制“更改”事件,因为在该事件处理程序中有一些逻辑,并且不必为每次按键执行它。

有没有办法让Kendo在不触发“已更改”事件的情况下更新ViewModel?

我知道我可以手动修改ViewModel,但我想要更简单和自动化的东西。

感谢您的回答,

  • 威尔

3 个答案:

答案 0 :(得分:10)

使用data-value-update属性。使用"按键" event不会将最后一个字符更新为绑定模型,因此请使用" keyup"事件而不是。

<input id="name" type="text" 
    data-bind="value: name" data-value-update="keyup">

我最初使用&#34; keypress&#34;进行测试,但输入文字&#34; abcd&#34;结果&#34; abc&#34;在ViewModel中。

答案 1 :(得分:0)

您可以将data-value-update属性添加到元素中:

<input data-bind="value: someValue"
       data-value-update="keypress" />

文档在这里:Controlling When the ViewModel is Updated

答案 2 :(得分:0)

 <input    type="text"  data-value-update="keypress"  data-bind="value: searchBySystemValue, events: { keypress: onkeypressEvent }"/>

你可以在事件中添加功能