Knockout的textInput
绑定用于与Oracle JET v3.2.0 ojInputText
标记一起使用。
<input id="text-input"
type="text"
data-bind="ojComponent: {component: 'ojInputText',
textInput: value}"/>
但是现在Oracle JET v5.2.0的每个组件都是一个定制的HTML组件,textInput
不再起作用了。
<oj-input-text id="text-input" textInput="{{value}}"></oj-input-text>
<oj-input-text id="text-input" data-bind="textInput: value"></oj-input-text>
有没有办法让textInput
与oj-input-text
一起工作?
我也检查了documentation,但没有提到任何内容。
3条答案
按热度按时间monwx1rj1#
在
ojinputtext.js
中,_onKeyUpHandler
函数只监听Enter键,不监听其他任何内容。也不可能从您的viewModel中修改此函数,因为
ojinputtext
在OJET中最终注册为Composite Component,只有这样您才能访问它。您可能会做一个变通办法,在输入文本周围 Package 一个Jquery函数,以侦听每个击键。
vu8f3i0k2#
正如@Srishti所证实的那样,我不能将
textInput
与Oracle JET一起使用。因此,我创建了一个Knockout绑定处理程序来模仿这种行为,我相信其他人也会发现这一点:JS:
6rqinv9w3#
我认为在没有自定义KO绑定的情况下,正确的OJET方法是使用
rawValue
而不是value
属性,如docs/playground中所述:https://www.oracle.com/webfolder/technetwork/jet-520/jsdocs/oj.ojInputText.html#rawValue
https://www.oracle.com/webfolder/technetwork/jet-520/jetCookbook.html?component=textInput&demo=rawValue