如果我将MVVM下拉列表放在kendo模板中,则下拉列表;
(a)在屏幕的左上角(而不是在输入下方)打开。 (b)不发生事件
我创建了一个dojo。有两个相同的下拉列表,除了第二个是使用模板创建,而第一个不是。您可以看到第二个下拉列表未在正确的位置打开,并且没有事件记录到控制台。
这是一个错误,还是我错过了什么?
答案 0 :(得分:1)
建议不要将小部件与'source:this'绑定,而是在模型上绑定子属性:'source:item'
http://dojo.telerik.com/UHicE/3
<div id="div2" data-bind="source: item" data-template="myTemplate"></div>
<script id="myTemplate" type="text/x-kendo-template" >
<input data-role="dropdownlist"
...
data-bind="value: selectedProduct,
source: products,
enabled: isEnabled />
</script>
var viewModel = kendo.observable({
item: {
selectedProduct: null,
isPrimitive: false,
isEnabled: true,
products: new kendo.data.DataSource({
transport: {
read: {
dataType: "jsonp",
url: "http://demos.telerik.com/kendo-ui/service/Products",
}
}
}),
...
}
});
进一步测试,看来问题是远程数据源: http://dojo.telerik.com/elOcO
如果您使用远程来源,最好不要使用source: this
。