首页 > 其他分享 >界面控件DevExtreme中文使用指南——如何构建 & 应用模板

界面控件DevExtreme中文使用指南——如何构建 & 应用模板

时间:2022-10-27 09:36:19浏览次数:148  
标签:function 控件 text DevExtreme UI 组件 使用指南 模板

DevExtreme拥有高性能的HTML5 / JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NET Core,jQuery,Knockout等)构建交互式的Web应用程序,该套件附带功能齐全的数据网格、交互式图表小部件、数据编辑器等。

模板允许您自定义DevExtreme UI组件,本文概述DevExtreme为实现和应用模板提供的功能。

DevExtreme v22.1正式版下载

默认模板

默认模板基于数据源字段,可以通过从数据源对象中添加或删除特定字段来控制外观。例如,List UI组件项的默认模板包含文本、可见和禁用字段等,如果您将以下数组分配给UI组件项或dataSource属性,第一项将被禁用,第二项将被隐藏,它们都将有文本,而第三项将呈现自定义标记:

JavaScript

function customMarkup() {
var d = document.createElement("div");
d.innerHTML = "<i>Oranges</i>";
return d;
}
var fruits = [
{ text: "Apples", disabled: true },
{ text: "Lemons", visible: false },
{ template: customMarkup }
];

您可以使用支持默认模板和自定义模板的dxItem组件在标记中实现同样的效果,在这种情况下,不要设置UI组件的dataSource属性。

HTML

<div id="list">
<div data-options="dxItem: { text: 'Apples', disabled: true }"></div>
<div data-options="dxItem: { text: 'Lemons', visible: false }"></div>
<div data-options="dxItem: { }">
<i>Oranges</i>
</div>
</div>

JavaScript

$(function() {
$("#list").dxList({/* ... */});
});

默认模板和其中可用的字段取决于UI组件。

自定义模板

模板作为属性传递,其结尾是...Template(在jQuery, Angular,Vue中)或...Render/...Component (在React中)。

每个模板都可以访问以下参数:

  • data:数据源对象或具有特定于特定模板的字段对象。
  • index:集合中的项目从零开始的索引,仅在集合UI组件模板中可用。
  • element:一个jQuery元素,表示正在自定义的UI组件元素,仅当您使用jQuery时可用。

下面的代码展示了如何声明模板并使用这些参数,段代码为List UI组件声明了一个itemTemplate:

index.js

$(function() {
$("#listContainer").dxList({
items: [
{ itemProperty: "someValue" },
// ...
],
itemTemplate: function (data, index, element) {
return index + " - " + data.itemProperty;

// ===== or using the "element" parameter =====
const $item = $("<div>").text(
index + " - " + data.itemProperty
);
element.append($item);
}
});
});

注意:在组件的标记内,但在模板元素之外声明命名模板,非命名模板应该在模板元素中声明。

集合UI组件还支持单个项的模板,如果使用单独的模板,不要指定UI组件的dataSource属性。

index.js

$(function() {
$("#listContainer").dxList({
items: [{
template: function () {
return $("<i>").text("Item 1")
}
}, {
template: function () {
return $("<b>").text("Item 2")
}
},{
template: function () {
return $("<div>").append(
$("<span>").text("Item with nested component"),
$("<div>").dxButton({
text: "Click me"
})
)
}
}]
});
});
第三方模板引擎

可以使用第三方模板引擎,但只能使用jQuery. DevExtreme支持以下开箱即用的模板引擎:

要使用其中一个,将它的名称传递给DevExpress.setTemplateEngine(name)方法:

HTML

<div id="list"></div>
<script type="text/html" id="itemTemplate">
<!-- your Underscore template -->
</script>

JavaScript

DevExpress.setTemplateEngine("underscore");

$(function() {
$("#list").dxList({
// ...
itemTemplate: $("#itemTemplate")
});
})

还可以使用其他模板引擎,但在本示例中需要实现编译和呈现模板的函数,详见DevExpress.setTemplateEngine(options) 。


DevExpress技术交流群6:600715373      欢迎一起进群讨论

更多DevExpress线上公开课、中文教程资讯请上中文网获取

标签:function,控件,text,DevExtreme,UI,组件,使用指南,模板
From: https://www.cnblogs.com/AABBbaby/p/16830970.html

相关文章

  • WPF-后台动态创建窗口添加控件示例
    Windowwindow1=newWindow();window1.Title="新窗口";window1.Background=Brushes.LightBlue;//SolidColorBrushbrush1......
  • JFormDesigner 提示需要修改控件为Static的解决方法。
    最近在用java开发一个EmailAItools时候,发现一个比较好用的UI设计工具:JFormDesigner,但是在编写代码的时候总是被提示需要修改控件的属性为Static,在代码里面修改后回到UI......
  • ElementPlus 日期控件 el-date-picker 显示中文
     解决:配置main.js/tsimportElementPlusfrom'element-plus'import'element-plus/dist/index.css'import'dayjs/locale/zh-cn';//中文importlocalefrom'elem......
  • iOS开发之自定义日历控件
    前言日常开发中经常会遇到日期选择,为了方便使用,简单封装了一个日历控件,在此抛砖引玉供大家参考。效果功能支持单选、区间支持默认选中日期支持限制月份支持过......
  • Selenium4Web自动化7-文件上传和日期控件
    一、文件上传操作-input标签文件选择当input元素为文件类型时,文件上传对话框可以使用Selenium处理.文件上传的代码实现如下fromseleniumimportwebdriverfromwebd......
  • SAP UI5 的 TimePicker ,一个钟表外观的时间选择控件试读版
    一套适合SAPUI5初学者循序渐进的学习教程本专栏计划的文章数在​​300​​​篇左右,到​​2022年10月14日​​​为止,目前已经更新了​​141​​​篇,专栏完成度为​......
  • qt 查看控件类型
    qt的大部分控件都是基于QWidget的,所以有时需要通过一种方法判断获取到的Widget是哪种类型的控件;解决文案是:QWidget->metaObject()->className(),例如:ui->label->meta......
  • devexpress中grid控件教程 多线程异步加载数据,进度条展示
    devexpress中最强大的控件,要数它的Grid了。几乎任务数据都可以展示,但今天要用它做另一个功能。假设我们开发这样一款软件:视频编辑软件。里面有个功能,提取视频中的音频。一......
  • NodeJS & Dapr Javascript SDK 官方使用指南
    Dapr是一个可移植的、事件驱动的运行时,它使任何开发人员能够轻松构建出弹性的、无状态和有状态的应用程序,并可运行在云平台或边缘计算中,它同时也支持多种编程语言和开发框......
  • PR学习笔记——Pr2019快速使用指南——视频剪辑
    PR学习笔记——Pr2019快速使用指南​​素材选取​​​​1、音乐素材库,那肯定是某音乐比较全,如何下载呢?​​​​2、视频库​​​​剪辑技巧​​​​一、PremierePro怎么进行......