首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

基于 Angular Material 的 Data Grid 设计实现

data-grid.jpg 自 Extensions 组件库发布以来,Data Grid 成为了使用及咨询最多的组件。...这几天又重构了一下官网示例,目前的 API 文档放在了 gitbook 上,暂时还没有和官网整合,国内访问会比较慢。本文会介绍 Data Grid 的使用方法及比较好的一些功能实现。...目前市面上功能最全的 Data Grid 是 ag-grid,很多组件库也有自己的 Data Grid 实现,比如 Ignite UI,Kendo UI。...Angular Material 对于 table 的封装已经足够灵活,但是模板的定义依然很繁琐,也缺少很多刚需功能。...官网示例:Row selectable 表格的行选取是一个很常见的需求,用途广泛。默认开启单元格选取,可以设置 [cellSelectable]="false" 以关闭单元格选取。

5.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    20 多个好用的 Vue 组件库

    支持对加载后的表格页面的处理:添加/删除行/列,合并单元格等操作。 此外,它还适用于 React、Angular 和 Vue。...特点如下: 多列排序 非连续选择 过滤数据和验证数据 导出文件 有条件的格式化 合并单元格 隐藏行/列 上下文菜单和注释 Ag Grid Vue 地址:https://github.com/ag-grid...内部 ag-Grid 引擎是在 TypeScript 中实现的,零依赖关系。 ag-Grid 通过包装器组件支持 Vue,你可以在应用程序中,就像其他任何 Vue 组件一样使用 ag-Grid。...你甚至可以使用 Vue 组件来自定义网格 UI 和单元格内容/行为。...Vue 组件可以方便的在 Vue 项目中进行使用,由于是纯 css 打造,你可以在任意网页项目中自行整合并使用!

    7.9K10

    解读移动端的跨平台开发:TypeScript + Angular

    TypeScript Type Definition 真正使TypeScript强大的还是要归根于类型定义文件。类型定义文件里有接口、函数定义等等。在一般的前端构造里,浏览器和DOM有非常多的类型。...在Google内部,当一个工程师改了一行Angular代码的时候有成千上万的单元测试都会被运行。我们希望平台是一个稳定的平台,新出的版本不会破坏以前现有产品的开发。...Angular还有三个支柱,一个是核心,一个是围绕核心衍生出的程序库,还有一个是工具。 Angular Core 鉴于我们现在的渲染器完全脱离了DOM,这样的渲染让我们的表达非常expressive。...Angular的变化检测跟很多前端框架一样,有一个模版需要被渲染,渲染的时候内部组件有一个物件的改变,就需要进行检测。...在Angular里面有一个非同步执行的context,它复写了所有非同步的函数和事件,当每次结束的时候都需要在每个组件里做一个变化的检测。

    3.2K80

    20多个好用的 Vue 组件库,请查收!

    同时,支持对加载后的表格页面的处理:添加/删除行/列,合并单元格等操作。 此外,它还适用于React、Angular和Vue。...Ag-Grid 是一个基于Vue.js的数据表格组件。其中,“ag” 表示 “agnostic”。内部 ag-Grid引擎是在TypeScript中实现的,零依赖关系。...ag-Grid通过包装器组件支持Vue,你可以在应用程序中,就像其他任何Vue组件一样使用ag-Grid。它支持通过属性绑定传递配置,通过事件绑定来处理事件。...你甚至可以使用Vue组件来自定义网格UI和单元格内容/行为。...完全可定制:你可以改变颜色,速度和大小 创建自己的加载:使用在线工具轻松创建你的自定义加载 你现在就可以使用它:已经有很多预设了 性能 Epic Spinners 地址:https://epic-spinners.epicmax

    7.6K10

    Godot Engine:跨平台游戏开发的新境界 | 开源日报 No.92

    它支持 React / Angular / Vue / 纯 JavaScript,并提供了标准网格所需的所有特性,如列交互、分页、排序和行选择等。...此外,AG Grid 还具有以下突出特点: 分组/聚合 可访问性支持 自定义过滤器 原地单元格编辑 记录懒加载 服务器端记录操作 实时流更新 与其他数据表不同之处在于 AG Grid 具有完整的自定义能力和灵活性...mapbox/mapbox-gl-js[3] Stars: 10.1k License: NOASSERTION picture Mapbox GL JS 是一个在浏览器中使用矢量切片和 WebGL...具体来说,在 A100 和 H100 这些 GPU 上,使用 FlashAttention 可以达到数倍甚至十倍以上的加速。...易于启用/禁用:需要显式地在 plugins 中启用每个想要使用的插件,在安装部分有详细说明。这种方式让用户能够自由选择所需功能并避免不必要负担。

    57210

    ionic3应该善用组件和指令

    在angular1时代,组件和指令是一回事,即严格来说,没有组件这概念,只有指令,而到了angular2时代,虽说组件仍是一种特殊的指令,但已经有一定目的明显区分开来,分别用Directive和Component...来标识,用cli生成命令就如下所示: ionic g directive 指令名 ionic g component 组件名 要说指令和组件的区别,简单说是不带视图和带视图的区别,直观效果是:一个为原有标签动态添加功能...TemplateRef用来访问组件的模板,而ViewContainerRef可作为视图内容渲染器,将模板内容插入至DOM中。 组件 这个不必说了,我们用得最多的便是组件。...在构造函数constructor加上一句,赋值默认颜色: import { Directive, Input, ElementRef } from '@angular/core'; @Directive...Renderer来代替ElementRef使用,有兴趣的可以自行了解下Renderer 3)使用指令 如果调用的页面用了懒加载,在调用指令的页面module.ts里导入指令并声明,反之,在app.module.ts

    3.5K40

    AgGrid框架的使用感受及前景分析

    免责声明:文章源于本人闲情雅致,没有任何广告意图 我向来是不屑于使用前端框架的,最多用一些ui组件,但是ag-grid这个框架太TM好用了。...这时一个成熟的开发者当然应该用自己的技术来引导甚至改变用户的需求,但无论如何,首先要做的是建立一个基本的数据对象模型,比如ER图。...Ag-Grid:媲美Excel的web框架 完美的集合关系模型如何在前端展现呢,最好的办法呢就是画一个表格,经过1个多月的框架抉择,我终于在能力矩阵2.X版本中选择用aggrid来重构整个系统。...设计focus对象 focus对象是我常用的一种自定义对象,通常挂载在window.app上,但在aggrid这个重量级框架面前,也可以挂载在ag-grid>ag-grid>元素上面。...当鼠标在某一个单元格右击的时候就会自动的刷新focus对象,在右键菜单中就能对当前对象做相应的操作。这就是聚焦的哲学。

    6K40

    knockout + easyui = koeasyui

    今天我想试着解决这样一个问题,如:将knockout 与 大家熟悉的easyui结合在一起。让easyui具有MVVM的能力,也有不使用easyui的特性,看大家是否喜欢这一口。...构造函数中获取到dom,以及组件名称。然后将easyui的方法绑定到类实例上。然后对外提供paint和repaint两个方法进行组件的绘制和重绘。...2.3 配置参数改变后,如何即使反馈给easyui 这一步就是解决绘制和重绘的问题。这里我们要了解一个ko的loader的概念,他相当于是组件渲染器向外提供的勾子,可以自定义一些内容。...let tmp = ko.unwrap(param); //探测监控对象有变化的属性,区分那些可以用方法进行改变,那些需要重绘...由于ko.computed在初始化的时候会执行,所以通过first变量进行问题的回避。 三、还需要完善的点 1.

    1.5K30

    多 UI 版本网页五子棋实现

    具体的实现代码如下: /** * 判断某个单元格是否在棋盘上 * @param {Number} x 水平坐标 * @param {Number} y 垂直坐标 * @returns {Boolean...相关实现如下: /** * 普通 Dom 版本五子棋渲染器构造函数 * @param {Object} container 渲染所在的 DOM 容器 */ function DomRenderer...相关实现代码如下: /** * Canvas 版本五子棋渲染器构造函数 * @param {Object} container 渲染所在的 DOM 容器 */ function CanvasRenderer..._chessCanvas.getContext('2d'); }; 棋子的绘制过程则是使用棋子画布的 2D 绘图环境绘制一个圆形,具体代码如下: /** * 渲染一步棋子 * @param {Object...具体实现如下: /** * 判断某个单元格是否在棋盘上 * @param {Number} x 水平坐标 * @param {Number} y 垂直坐标 * @returns {Boolean

    1.7K10

    3.6 自定义View (3.6.1)

    (canvas); //在调父类方法后,实现自己的逻辑,对TextView来说即是在绘制文本内容后 } 以上就是通过改变控件的绘制行为创建自定义View的思路。...onDraw()方法中,为了改变原生的绘制行为,在系统调用super.onDraw(canvas)方法前,也就是在绘制文字之前,绘制两个不同大小的矩形,形成一个重叠效果,再让系统调用super.onDraw...要想实现这个效果,可以充分利用Android中Paint对象的Shader渲染器。 通过设置一个不断变化的LinearGradient,并使用带有该属性的Paint对象来绘制要显示的文字。...首先,在onSizeChanged()方法中进行一些对象的初始化工作,并根据View的宽度设置一个LinearGradient渐变渲染器,代码如下所示。...最后,在onDraw()方法中,通过矩形的方式来不断平移渐变效果,从而在绘制文字时,产生动态的闪动效果,代码如下所示。

    53620

    前端原生开发解决方案

    单文件组件的概念参考 Vue 官网教程:https://cn.vuejs.org/v2/guide/single-file-components.html ,指以一个 html 组件为最小分割单元实现高内聚低耦合...以.js 文件为组件 文件中通过字符串模板定义 html 和 css,然后在自定义元素的构造函数中引入它们。...html 元素 在以 html 文件为组件的情况下,经常需要用到模板引擎来提升效率,模板引擎指在静态的 html 中插入一些可执行的代码,用以动态生成 html 片段,这个代码可以是任何编程语言的表达式...兼容性 使用原生开发的应用在兼容上不如使用框架,因为无论 Vue、React、Angular 都偏向使用古老的语法和接口从而保证向下兼容旧版浏览器,但代价是代码量的翻倍,使用原生开发,并尽可能采用最新的语法和接口能够大大提升性能...虚拟 DOM 99% 的页面交互都不需要引入虚拟 DOM (既有优点也有缺点),只有当巨量 DOM 元素存在的时候,比如大型分页表格,这时才需要考虑虚拟 DOM,而常见的表格框架例如 ag-grid、tabulator

    1.5K30

    【Android 应用开发】Android 图表绘制 achartengine 示例解析

    ; -- XYMultipleSeriesRenderer : 渲染器集合, 图表中多个曲线的渲染器; -- XYSeriesRenderer : 单个曲线或单元的渲染器, 一个图表中可能有多条曲线或者柱状图等...dataset 最后的 XY 数据集结果, 相当与返回值在参数中 * @param titles 要赋予的标题 * @param xValues x轴数据集合 * @param yValues...) : 对曲线图渲染器进行配置, 主要配置坐标轴 * * @param renderer 要进行配置的渲染器 * @param title 图表的名称 * @param xTitle...饼图渲染器 相关类介绍 :  -- DefaultRenderer : 饼图渲染器, 单饼图 和 多饼图使用的渲染器都是同一个; -- DefaultRenderer : 饼图单个元素渲染器, 一个饼图有多个该渲染器渲染...(); -- 设置颜色 : setColor(color); 示例代码 :  /** * 饼图(渲染器) : 使用现有颜色创建饼图渲染器 * * @param colors 颜色数组

    2K40

    全面解读 Vue 3.0 的变化

    同时,对于render函数的方面,vue3.0也会进行一系列更改来方便习惯直接使用api来生成vdom的开发者。 3....其实当代码的功能复杂之后,必须有一个静态类型系统来做一些辅助管理,如React使用的Flow,Angular使用的TypeScript。...其他的一些东西 vue3.0的改变是全面的,上面只涉及到主要的3个方面,还有一些其他的更改: 支持自定义渲染器,从而使得weex可以通过自定义渲染器的方式来扩展,而不是直接fork源码来改的方式。...支持Fragment(多个根节点)和Protal(在dom其他部分渲染组建内容)组件,针对一些特殊的场景做了处理。 基于treeshaking优化,提供了更多的内置功能。...虽然vue不如react和angular那样有大公司维护,但是借助开源的力量,整个流程都是开源社区参与的,这样vue的稳定程度和开发思路自然也就不会有什么大的问题。

    70110

    【企业数字化转型】数据可视化技术:Three.js 用Physijs在场景中添加物理效果

    常用相机 透视相机 透视相机模拟的效果与人眼看到的景象最接近,在3D场景中也使用得最普遍,这种相机最大的特点就是近大远小,同样大小的物体离相机近的在画面上显得大,离相机远的物体在画面上显得小。...(renderer) 渲染器利用场景和相机进行渲染,渲染过程好比摄影师拍摄图像,如果只渲染一次就是静态的图像,如果连续渲染就能得到动态的画面。...在JS中可以使用requestAnimationFrame实现高效的连续渲染。...使用这些几何体唯一要做的就是讲THREE.Mesh的构造函数替换成这些网格对象的构造函数。...任何具有质量的对象0将永远是静态的。 用于对象在某些时候是静态的,并且在其他方​​面是动态的。

    4.5K31

    React 展示组件与容器组件(英译)

    检出这个仓库来了解在使用React开发应用时使用的更多技术。 让我们从一个简单的例子开始,说明问题,然后将组件拆分为容器和展示组件。 我们将使用一个 clock 组件。..._updateTime以一秒为度量来改变当前的time对象。 问题 在我们的组件这里有几件事情会发生。看起来这个组件有太多的职责。 它自己改变状态。...我们的Clock函数/组件可能存在于不改变时间或不使用JavaScript的Date对象的应用程序中。 这是因为它是漂亮的傀儡。 没有关于数据的细节,只有它的初始形态和它来自哪里。...关于容器的好处是它们封装逻辑并且可以将数据注入到不同的渲染器中。 通常,导出容器的代码不直接导出一个类,而是一个函数。 例如,不是使用 import Clock from '....展示组件只是呈现传入的props,并且如果某处被点击/填充(数据),他们的单元测试或多或少地会检查正确的回调是否被调用。

    2.9K00

    4个免费数据分析和可视化库推荐

    有很多聚合函数可供选择。但是,虽然可以使用总计,但缺少小计支持。 它内置了热图和表格条形图的渲染器。...这意味着如果一行由多个层次结构组成,则每个层次结构始终显示在单独的列中。 它可以本地化为不同的语言。 更多 演示 从GitHub下载 2....可以使用总计和小计以及单元格的条件格式。对于自定义聚合,您可以添加计算值。...还支持与React,AngularJS和Angular 2+等不同框架集成。 可以使用报告的自定义选项:您可以在预定义主题之间进行选择或创建新主题。...GoogleCharts GoogleCharts是最着名的动态图表库之一,可以借助简单的JavaScript嵌入到任何Web项目中。 它是跨浏览器兼容的,并附带了大量的图表类型。

    4.9K20

    Angular 1 vs. Angular 2 深度比较

    相对于递归性扫描对像的变化,这份机制会创建一个方法,这个方法将在 Angular 启动时去检查这个绑定是否已经改变。...有了这样的一个检测函数,我们很容易的自己亲手编写类似函数来测试绑定对象的变化,同时它也很容易被虚拟机优化。...Angular 1 的多重依赖注入机制 在 Angular 1 中, 我们可以使用在多重地方使用不同的方法进行注入: 在链接方法中通过位置注入 在直接定义中通过名字注入 在controller方法中通过名字...Angular 2 将会作出怎样的该进 而在 Angular 2 中有且仅有一种依赖注入机制: 在构造函数中通过类型注入。...这意味着构造不断被真正 bug 之外的东西打破,测试努力收效甚微。 引入独立的渲染层会使单元测试更快,依赖更少,更方便代码的书写和维护,可以更频繁地使用。

    2.8K100

    react 学习笔记

    我们前端最熟悉的是负责在浏览器环境渲染的 Renderer —— ReactDOM 除此之外,还有: ReactNative 渲染器,渲染App原生组件 ReactTest 渲染器,渲染出纯Js对象用于测试...作为动态的工作单元来说,每个Fiber节点保存了本次更新中该组件改变的状态、要执行的工作(需要被删除/被插入页面中/被更新…)。...当我们生成两个不同的数组时,我们可以使用相同的 key 值 Post 组件可以读出 props.xx,但是不能读出 props.key (key的值应该使用其他属性名来传递) 受控组件 表单元素依赖于状态...它们都是用来保存信息的,这些信息可以控制组件的渲染输出 而它们的一个重要的不同点就是:props 是传递给组件的(类似于函数的形参) 而 state 是在组件内被组件自己管理的(类似于在一个函数内声明的变量...,这样才不会发生冲突 在事件处理函数内部的 setState 是异步的。

    1.3K20
    领券