Kendo UI for jQuery自定义小部件第一弹!不得不看的入门指南
Kendo UI目前最新提供Kendo UI for jQuery、Kendo UI for Angular、Kendo UI Support for React和Kendo UI Support for Vue四个控件。Kendo UI for jQuery是创建现代Web应用程序的最完整UI库。
Kendo UI通过继承基本窗口小部件类为您提供创建自定义窗口小部件的选项。
入门
1. 在kendo.ui命名空间中扩展基本Kendo UI小部件类。
本示例演示如何创建变量来保存值,这些值也有助于缩小。 整个过程包含在一个自执行的匿名函数中,以保护全局命名空间。 jQuery作为引用传入,以确保$是jQuery。 小部件本身扩展了基本小部件类,因此它被赋予了MyWidget的大写名称 - 或者小部件的名称。 在使用JavaScript命名类而不是常规对象时,这通常被认为是最佳实践。
(function($) {// Shorten references to variables which is better for uglification. kendo = window.kendo,ui = kendo.ui,Widget = ui.Widget
var MyWidget = Widget.extend({
// The initialization code goes here.
});
})(jQuery);
2. 为您的小部件提供init方法。 初始化窗口小部件时,框架会调用此方法。 这个init函数有两个参数,第一个是初始化窗口小部件的元素;第二个是您将很快指定的一组选项,这些将是配置值。
var MyWidget = Widget.extend({
init: function(element, options) {
// The base call to initialize the widget.
Widget.fn.init.call(this, element, options);
}
});
3. 如果要扩展窗口小部件,对基础的调用是将窗口小部件从声明性初始化或标准命令式初始化转换为合并所有基本选项和自定义选项的内容。在init语句下声明这些选项,您在选项对象中声明的任何内容都可供用户作为配置值或数据属性传递。
var MyWidget = Widget.extend({
init: function(element, options) {
// The base call to initialize the widget.
Widget.fn.init.call(this, element, options);
},
options: {
// The name is what it will appear as the kendo namespace(i.e. kendo.ui.MyWidget).
// The jQuery plugin would be jQuery.fn.kendoMyWidget.
name: "MyWidget",
// Other options go here.
...
}
});
4. 将小部件添加到Kendo UI,以下示例演示了用于创建自定义Kendo UI窗口小部件,并使其像所有其他Kendo UI窗口小部件一样可用的完整样板。
(function($) {
// Shorten the references to variables. This is better for uglification var kendo = window.kendo,
ui = kendo.ui,
Widget = ui.Widget
var MyWidget = Widget.extend({
init: function(element, options) {
// The base call to the widget initialization.
Widget.fn.init.call(this, element, options);
},
options: {
// The name is what it will appear as the kendo namespace(i.e. kendo.ui.MyWidget).
// The jQuery plugin would be jQuery.fn.kendoMyWidget.
name: "MyWidget",
// Other options go here.
....
}
});
ui.plugin(MyWidget);
})(jQuery);
5. 要使此小部件支持DataSource或MVVM,请实现一些其他项,以下部分讨论了创建DataSource-aware小部件的过程。本节演示的小部件是一个简单的小部件,只重复数据源中的数据,还允许您指定自己的自定义模板。 您可以将它视为一个非常笨拙的ListView,为了更容易处理,它被命名为Repeater。
要使窗口小部件识别数据源,请在数据源基础对象上使用创建的便捷方法,代码片段为您的窗口小部件初始化DataSource提供了灵活性。如果您实际在窗口小部件初始化或内联之外创建新的DataSource,则返回该DataSource。
that.dataSource = kendo.data.DataSource.create(that.options.dataSource);
6. 创建一个新的DataSource来绑定窗口小部件。此步骤不是必须的,因为您可以将DataSource设置为数组,如以下示例所示。 如果传递此数组,kendo.data.DataSource.create方法将根据此数组中的数据创建一个新的DataSource,并将其返回给that.dataSource。
$("#div").kendoRepeater({
dataSource: ["Item 1", "Item 2", "Item 3"]
});
7. 通过内联指定其配置值来创建DataSource,如以下示例所示。 该示例指定了DataSource配置,但实际上并未创建DataSource实例。 kendo.data.DataSource.create(that.options.dataSource)获取此配置对象并返回具有指定配置的新DataSource实例。
注意:要复制Kendo UI MultiSelect数据绑定操作,请显式分配kendo.data.binders.widget.multiSelectCustom = kendo.data.binders.widget.multiselect; 捆绑。
$("#div").kendoRepeater({
dataSource: {
transport: {
read: {
url: "http://mydomain/customers"
}
}
}
});
Kendo UI R3 2019全新发布,最新动态请持续关注Telerik中文网!
扫描关注慧聚IT微信公众号,及时获取最新动态及最新资讯

Kendo UI for jQuery自定义小部件第一弹!不得不看的入门指南的更多相关文章
- Web UI开发推荐!Kendo UI for jQuery自定义小部件——处理事件
Kendo UI for jQuery最新试用版下载 Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support f ...
- Web UI开发推荐!Kendo UI for jQuery自定义小部件——使用MVVM
Kendo UI for jQuery最新试用版下载 Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support f ...
- kendo ui 好用的小部件--grid
Kendo Ui Grid控件,继承至Widget. https://demos.telerik.com/kendo-ui/grid/index 快速上手教程 下面的代码来自本教程 做表格时非常方 ...
- Kendo UI for jQuery使用教程:使用MVVM初始化(一)
[Kendo UI for jQuery最新试用版下载] Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support ...
- Kendo UI for jQuery使用教程:小部件DOM元素结构
[Kendo UI for jQuery最新试用版下载] Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support ...
- 不知如何摧毁Kendo UI for jQuery小部件?这份指南不得不看
[Kendo UI for jQuery最新试用版下载] Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support ...
- Web界面开发必看!Kendo UI for jQuery编辑功能指南第一弹
Kendo UI for jQuery最新试用版下载 Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support f ...
- Kendo UI for jQuery使用教程——创建自定义捆绑包
[Kendo UI for jQuery最新试用版下载] Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support ...
- Web界面开发必看!Kendo UI for jQuery编辑功能指南第二弹
Kendo UI for jQuery最新试用版下载 Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support f ...
随机推荐
- 继承以及Super
一个小小的总结,主要关注以下三个问题:ES5的继承方式,ES5的继承与ES6的继承的区别,ES6的super的几种使用方式以及其中this的指向. From http://supermaryy.com ...
- elasticsearch的cross_fields查询
1.most_fields 这种方式搜索也存在某些问题 它不能使用 operator 或 minimum_should_match 参数来降低次相关结果造成的长尾效应. 2.词 peter 和 smi ...
- C# XML操作之一:使用XmlDocument来读写
所有代码都在同一个类中,含有对象 XmlDocument doc = new XmlDocument(); 新建XML,并且写入内容 private void button4_Click(object ...
- Java十大bug之——包冲突
找bug就像破案,有的bug简单,有的bug复杂,还有的bug隐藏的令人难以发现. 一个逻辑上看起来一切都正常,结果确有问题,且怎么分析都感觉自己写的没问题的情况——包冲突 遇到这个bug最开始没有任 ...
- luoguP1352没有上司的舞会(树形DP)
题目链接:https://www.luogu.org/problemnew/show/P1352 题意:给定n个结点,每个结点有一个权值,给n-1条边,n个结点构成一棵树.并且规定一个结点的父结点如果 ...
- myeclipse中jpa的安装以及jpa reverse engining
myeclipse中jpa的安装以及jpa reverse engining 安装 右击 Configure Facets, Install JPA jpa reverse engining 1.db ...
- priority_queue member function
没有优先队列的dijkstra不算真的dijkstra 所以我又回来补常识了 <1>priority_queue::emplace <7>priority_queue::top ...
- luogu P3320 [SDOI2015]寻宝游戏
大意:给定树, 要求维护一个集合, 支持增删点, 询问从集合中任取一点作为起点, 遍历完其他点后原路返回的最短长度. 集合中的点按$dfs$序排列后, 最短距离就为$dis(s_1,s_2)+...+ ...
- Two strings CodeForces - 762C (字符串,双指针)
大意: 给定字符串$a$,$b$, $b$可以任选一段连续的区间删除, 要求最后$b$是$a$的子序列, 求最少删除区间长度. 删除一段连续区间, 那么剩余的一定是一段前缀和后缀. 判断是否是子序列可 ...
- java.util.MissingFormatArgumentException: Format specifier '%s'
java.util.MissingFormatArgumentException: Format specifier '%s' at java.util.Formatter.format(Format ...