Kendo 树视图和树下拉列表 - 当前选择和更改的同步
Kendo tree view and tree dropdown - current selection and synchronization of changes
这段代码
http://dojo.telerik.com/UGaFucez
有两个控件 - 树视图和树下拉列表。这 2 个控件共享一个数据源,因此它们显示相同的树。但令人费解的是,它们似乎也共享当前选择的值,当您在一个字段中更改选择时,它也会在另一个字段中更改。
如何?数据源不应共享当前选定的值(没有当前选定值的概念)。并且没有设置 MVVM 绑定。但不知何故,这些领域保持同步 - 任何人都可以解释为什么以及背后的原因吗?我怎样才能断开这种依赖?
其实经历过的行为除外。 DataSource 对象保存记录的状态。换句话说,我们在 kendo 数据源对象中保留展开、选中、选中...等状态。这可以用作大多数场景中的增强。例如,您应该只触发一个 delete/create/update 请求并将数据应用于所有关联的小部件。但是,确实对于某些场景来说是不适合的。对于您的情况,您可以拥有 DataSource 的不同实例,并使用它们填充小部件:
var data= [
{
text: "Furniture", items: [
{ text: "Tables & Chairs" },
{ text: "Sofas" },
{ text: "Occasional Furniture" }
]
},
{
text: "Decor", items: [
{ text: "Bed Linen" },
{ text: "Curtains & Blinds" },
{ text: "Carpets" }
]
}
]
var ds1 = new kendo.data.HierarchicalDataSource({
data: data
});
var ds2 = new kendo.data.HierarchicalDataSource({
data: data
});
var treeview = $("#treeview").kendoTreeView({
dataSource:ds1
}).data("kendoTreeView");
$('#treeField').kendoDropDownTree({
dataSource: ds2
});
这是一个关于此事的道场示例:http://dojo.telerik.com/@nenchef/ucapaTeT
这段代码 http://dojo.telerik.com/UGaFucez
有两个控件 - 树视图和树下拉列表。这 2 个控件共享一个数据源,因此它们显示相同的树。但令人费解的是,它们似乎也共享当前选择的值,当您在一个字段中更改选择时,它也会在另一个字段中更改。 如何?数据源不应共享当前选定的值(没有当前选定值的概念)。并且没有设置 MVVM 绑定。但不知何故,这些领域保持同步 - 任何人都可以解释为什么以及背后的原因吗?我怎样才能断开这种依赖?
其实经历过的行为除外。 DataSource 对象保存记录的状态。换句话说,我们在 kendo 数据源对象中保留展开、选中、选中...等状态。这可以用作大多数场景中的增强。例如,您应该只触发一个 delete/create/update 请求并将数据应用于所有关联的小部件。但是,确实对于某些场景来说是不适合的。对于您的情况,您可以拥有 DataSource 的不同实例,并使用它们填充小部件:
var data= [
{
text: "Furniture", items: [
{ text: "Tables & Chairs" },
{ text: "Sofas" },
{ text: "Occasional Furniture" }
]
},
{
text: "Decor", items: [
{ text: "Bed Linen" },
{ text: "Curtains & Blinds" },
{ text: "Carpets" }
]
}
]
var ds1 = new kendo.data.HierarchicalDataSource({
data: data
});
var ds2 = new kendo.data.HierarchicalDataSource({
data: data
});
var treeview = $("#treeview").kendoTreeView({
dataSource:ds1
}).data("kendoTreeView");
$('#treeField').kendoDropDownTree({
dataSource: ds2
});
这是一个关于此事的道场示例:http://dojo.telerik.com/@nenchef/ucapaTeT