kendo-ui的使用和开发自己的组件

简介: 摘要:   前面介绍了一款非常不错的前端框架kendo-ui,如果你想阅读,请点这里。通过使用它一段时间,感觉是非常好用。下面就介绍一下如何使用它和开发自己的组件 引入:   只需要引进下面三个文件即可  kendo.

摘要:

  前面介绍了一款非常不错的前端框架kendo-ui,如果你想阅读,请点这里。通过使用它一段时间,感觉是非常好用。下面就介绍一下如何使用它和开发自己的组件

引入:

  只需要引进下面三个文件即可

 kendo.common.min.css  通用样式
 kendo.default.min.css 皮肤
 kendo.all.min.js js文件
 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <title>Welcome to Kendo UI!</title>
 5         <link href="styles/kendo.common.min.css" rel="stylesheet" />
 6         <link href="styles/kendo.default.min.css" rel="stylesheet" />
 7         <script src="js/jquery.min.js"></script>
 8         <script src="js/kendo.all.min.js"></script>
 9     </head>
10     <body>
11         
17     </body>
18 </html>

 

开发自己的组件:

 第一步:继承基本组件

 1 (function($) {
 2     // shorten references to variables. this is better for uglification
 3     var kendo = window.kendo,
 4         ui = kendo.ui,
 5         Widget = ui.Widget
 6  
 7     var MyWidget = Widget.extend({
 8         // initialization code goes here
 9     });
10  
11 })(jQuery);

 

注意:

1、为了保护全局的命名空间,开发组件是在单独的函数中执行,确保$是jQuery

2、组件是继承基本组件的,所以组件名首字母大写

第二步:添加一个初始化的方法

1 var MyWidget = Widget.extend({
2  
3     init: function(element, options) {
4  
5         // base call to initialize widget
6         Widget.fn.init.call(this, element, options);
7  
8     }
9 });

 

当这个组件初始化时,这个方法会被框架调用。两个参数,第一个是宿主元素,第二个是配置参数

第三步:添加配置参数

 1 var MyWidget = Widget.extend({
 2  
 3     init: function(element, options) {
 4  
 5         // base call to initialize widget
 6         Widget.fn.init.call(this, element, options);
 7     },
 8  
 9     options: {
10         // the name is what it will appear as off the kendo namespace(i.e. kendo.ui.MyWidget).
11         // The jQuery plugin would be jQuery.fn.kendoMyWidget.
12         name: "MyWidget",
13         // other options go here
14         ...
15     }
16  
17 });

第四步:暴露组件

1 kendo.ui.plugin(MyWidget);

 

 

下面是一个详细的列表组件:

 1 (function() {
 2     var kendo = window.kendo,
 3         ui = kendo.ui,
 4         Widget = ui.Widget,
 5 
 6     CHANGE = "change";
 7 
 8     var Repeater = Widget.extend({
 9         init: function(element, options) {
10             var that = this;
11 
12             kendo.ui.Widget.fn.init.call(that, element, options);
13             that.template = kendo.template(that.options.template || "<p><strong>#= data #</strong></p>");
14 
15             that._dataSource();
16         },
17         options: {
18             name: "Repeater",
19             autoBind: true,
20             template: ""
21         },
22         refresh: function() {
23             var that = this,
24                 view = that.dataSource.view(),
25                 html = kendo.render(that.template, view);
26 
27             that.element.html(html);
28         },
29         _dataSource: function() {
30             var that = this;
31             // returns the datasource OR creates one if using array or configuration object
32 
33             that.dataSource = kendo.data.DataSource.create(that.options.dataSource);
34 
35             // bind to the change event to refresh the widget
36             that.dataSource.bind(CHANGE, function() {
37                 that.refresh();
38             });
39 
40             if (that.options.autoBind) {
41                 that.dataSource.fetch();
42             }
43         }
44     });
45 
46     kendo.ui.plugin(Repeater);
47 
48 })(jQuery);

 

使用:

1 <div id="repeater"></div>
2 <script>
3 $("#repeater").kendoRepeater({
4     dataSource: [ "item1", "item2", "item3" ]
5 });
6 </script>

 

效果图:

 

相关文章
|
15天前
|
JavaScript 前端开发
如何优雅的只在当前页面中覆盖ui库中组件的样式(vue的问题)
如何优雅的只在当前页面中覆盖ui库中组件的样式(vue的问题)
13 0
如何优雅的只在当前页面中覆盖ui库中组件的样式(vue的问题)
|
15天前
|
前端开发 编解码 数据格式
浅谈响应式编程在企业级前端应用 UI 开发中的实践
浅谈响应式编程在企业级前端应用 UI 开发中的实践
16 0
浅谈响应式编程在企业级前端应用 UI 开发中的实践
|
1月前
|
搜索推荐 BI 开发者
sap.ui.comp.smarttable.SmartTable 组件 beforeRebindTable 事件的用法
sap.ui.comp.smarttable.SmartTable 组件 beforeRebindTable 事件的用法
22 0
|
3月前
|
开发框架 前端开发 .NET
七天.NET 8操作SQLite入门到实战 - (1)第七天BootstrapBlazor UI组件库引入
七天.NET 8操作SQLite入门到实战 - (1)第七天BootstrapBlazor UI组件库引入
|
3月前
|
JavaScript 前端开发 API
面试官:ui组件可以自动加载,那么业务组件可以吗?
面试官:ui组件可以自动加载,那么业务组件可以吗?
|
3月前
|
设计模式 前端开发 数据可视化
【第4期】一文了解React UI 组件库
【第4期】一文了解React UI 组件库
83 0
|
2月前
|
资源调度 JavaScript
Vue + Element-ui组件上传图片报错问题解决方案
Vue + Element-ui组件上传图片报错问题解决方案
|
11天前
|
XML 开发工具 Android开发
构建高效的安卓应用:使用Jetpack Compose优化UI开发
【4月更文挑战第7天】 随着Android开发不断进化,开发者面临着提高应用性能与简化UI构建流程的双重挑战。本文将探讨如何使用Jetpack Compose这一现代UI工具包来优化安卓应用的开发流程,并提升用户界面的流畅性与一致性。通过介绍Jetpack Compose的核心概念、与传统方法的区别以及实际集成步骤,我们旨在提供一种高效且可靠的解决方案,以帮助开发者构建响应迅速且用户体验优良的安卓应用。
QGS
|
3月前
|
前端开发 数据可视化 Java
手拉手JavaFX UI控件与springboot3+FX桌面开发(下)
手拉手JavaFX UI控件与springboot3+FX桌面开发
QGS
58 0
QGS
|
3月前
|
前端开发
手拉手JavaFX UI控件与springboot3+FX桌面开发(中)
手拉手JavaFX UI控件与springboot3+FX桌面开发
QGS
86 0

热门文章

最新文章

相关课程

更多