当前位置: 首页 > news >正文

界面控件DevExtreme中文教程 - 如何使用拆分组件创建灵活布局?

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

界面控件DevExtreme中文教程图集

在构建应用程序时,静态布局可能还不够,通过使用 "splitter" (“拆分器”)组件时,您可以将静态页面布局转换为适应每个用户需求的页面布局。DevExtreme Splitter UI组件被设计成将页面布局拆分为多个可调整大小的窗格(页面部分)。

点击获取DevExtreme v24.2正式版

在本文中我们将探索一个简单但非常流行的与布局相关的用例:调整布局“部分”的大小来显示更多的业务数据(当然,我们将使用DevExtreme Splitter来完成此操作),下面的GIF图是最终的页面布局:

界面控件DevExtreme中文教程图集

实现细节

DevExtreme Splitter将布局划分为多个窗格,这些窗格可以通过以下基本设置进行配置:

界面控件DevExtreme中文教程图集

DevExtreme UI组件依赖于嵌套配置(包括窗格)的Item声明,要在Splitter窗格中包含组件,您需要创建一个单独的模板或使用以下方法(直接使用Item标记声明)。

<Splitter onResize={onResize} id="splitter" height="auto">
<Item minSize={250}>
<DataGridComponent ref={grid} />
</Item>
<Item minSize={250} size="55%">
<ChartComponent />
</Item>
</Splitter>

本示例将DevExtreme DataGrid和Chart组件添加到窗格中。

在这个特定的实例中,用户可以通过展开Splitter最左边的窗格来查看隐藏的DataGrid列。对于DataGrid自适应模式,启用columnHidingEnabled选项。调用onResize函数中的updateDimensions方法来适应容器大小的变化。

const onResize = useCallback(() => {
cancelAnimationFrame(animationRefFrame.current);
animationRefFrame.current = requestAnimationFrame(() =>
grid.current.instance().updateDimensions()
);
}, [grid]);
自定义Splitter(拆分器)外观

一旦您设置了一个窗格布局,Splitter显示窗格之间的分隔条,您可以自定义此视觉元素来匹配相关的设计需求。

例如,可以修改分隔条宽度(以像素为单位),还可以使用自定义CSS规则修改组件外观。

对于这个示例,我们使用自定义CSS来修改Splitter和它的窗格:

// modifies the Splitter separator bar:
.dx-resize-handle {
border-radius: 50px;
}

// rounds the corners of the pane content:
.dx-datagrid-headers.dx-datagrid-nowrap.dx-bordered-top-view {
border-radius: 8px 8px 0 0 !important;
}
.dx-gridbase-container > .dx-bordered-bottom-view {
border-radius: 0 0 8px 8px !important;
}

如下图所示,您可以根据需求(通过设置、CSS样式等)个性化Splitter分隔符。

界面控件DevExtreme中文教程图集

用于附加布局策略的UI模板

这个示例布局的灵感来自DevExtreme UI模板库,这个UI模板库(适用于Angular、React和Vue)包括各种页面布局/使用场景的应用模板,包括以下内容:

  • CRM
  • 规划
  • Dashboards
  • 身份验证表单
  • 用户配置文件

无论您是在构建客户管理系统、项目规划工具还是用户身份验证流程,UI模板都提供了一个坚实的基础,您可以轻松地修改它来满足特定的业务需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dtcms.com/a/110711.html

相关文章:

  • VBA 64位API声明语句第008讲
  • 搭建Python环境
  • snmp/mib采用子代理模式,编码,部署(二)---多实例处理
  • 查看 Linux 操作系统信息的常用命令
  • 408 计算机网络 知识点记忆(4)
  • 从命名约定到特殊方法,Python下划线符号的妙用!
  • Linux信号——信号的处理(3)
  • Go 原理剖析:数据结构之字符串
  • 微服务组件——Eureka组件的安装与使用指南
  • 春秋云境(CVE-2023-23752)
  • Java高频面试之并发编程-02
  • MySQL 主从复制:数据库的克隆军团
  • ArcGIS/ArcGIS Pro地震分析:为什么缅甸地震,我国瑞丽震感最强烈?
  • 使用MetaGPT 创建智能体(1)入门
  • rbpf虚拟机-阶段整理
  • AVR128单片机密码锁
  • Flink在双流Join中,window如何选择
  • 【HCIA】静态综合实验练习笔记
  • JavaEE初阶复习(JVM篇)
  • 软考中级电子商务设计师分值分布解析!附最新备考资源!
  • Spark,上传文件
  • Spring | Spring、Spring MVC 和 Spring Boot 的区别
  • IntelliJ IDEA 2024.1.4 (Ultimate Edition)找不到Add Framework Support解决方法
  • 【diffusers 进阶(十五)】dataset 工具,Parquet和Arrow 数据文件格式,load dataset 方法
  • XT1870 同步升压 DC-DC 变换器
  • WebView加载URL时添加时间戳可以防止缓存问题方案
  • ceph数据迁移数据迁移与bacula配置调整优化实战
  • WindTerm快速更改主密码
  • Nextjs15 实战 - React Notes 项目初始化
  • Java学习总结-字符流