文档帮助

术语、图标和标签

许多类在使用配置对象创建(实例化)类时使用快捷名称。快捷名称称为别名(如果类扩展 Ext.Component,则称为xtype)。别名/xtype 列在适用类的类名旁边,以便快速参考。

访问级别

框架类或其成员可以指定为私有受保护。否则,类/成员为公共公共受保护私有是访问描述符,用于传达如何以及何时使用类或类成员。

成员类型

成员语法

下面是一个示例类成员,我们可以对其进行分析以显示类成员的语法(在本例中,从 Ext.button.Button 类查看 lookupComponent 方法)。

我们来看看成员行的每一部分

  • 展开/折叠 - 在成员行的左侧是一个控件,用于展开和折叠每个成员行以显示/隐藏成员详细信息。
  • 成员名称 - 类成员的名称(在本例中为lookupComponent
  • 方法参数 - 方法使用的任何必需或可选参数(或传递给事件处理程序方法)将在括号内列在方法名称旁边(在本例中为( item )
  • 返回类型 - 方法或属性返回的类实例或 javascript 对象(在本例中为Ext.Component)。对于不返回除undefined之外的任何内容的方法,可以省略此项,或者显示为用正斜杠 / 分隔的多个可能值,表示返回的内容可能取决于方法调用的结果(即,如果 get 方法调用成功,则方法可能返回 Component,如果失败,则返回false,将显示为Ext.Component/Boolean)。
  • 标志 - 接下来将显示适用于该成员的任何标志(本示例中为 PROTECTED - 请参阅下面的标志部分)
  • 成员来源 - 在成员行的右侧是最初描述成员的类(本示例中为 Ext.container.Container)。如果成员源自当前类,则源类将显示为蓝色链接;如果成员从祖先或混合类继承,则显示为灰色。
  • 成员源 - 在成员来源类的右侧下方是一个查看成员源的链接(本示例中为 查看源
  • 参数列表 - 每个类方法的参数都将使用括号中上面找到的相同名称、预期的类或对象类型以及参数的描述(本示例中为 item : Object)列出。
  • 返回 - 如果类返回 undefined 以外的值,则“返回”部分将注明返回的类或对象类型以及描述(本示例中为 Ext.Component
  • 示例中未显示) - 某些成员将在成员描述后显示该成员首次引入的产品版本(即 自 3.4.0 起可用 - 示例中未显示
  • 默认示例中未显示) - 配置通常显示要应用于类实例的默认配置值,如果未覆盖(即 默认为:false

成员标志

API 文档使用许多标志来进一步传达类成员的功能和意图。标签可以用文本标签、缩写或图标表示。

  • 必需 - 实例化类时的必需配置
  • 可绑定 - 该配置具有一个设置器,允许通过 ViewModel 绑定设置此配置
  • 只读 - 可以读取该属性,但不能用于在运行时配置/重新配置类实例
  • 单例 - 单例类在定义后立即实例化,并且不能手动实例化
  • 静态 - 静态方法或属性是属于类本身的方法或属性,而不是类的实例
  • 可链接 - 指在调用时返回类实例的方法。
    这支持链接方法调用,例如:classInstance.method1().method2().etc();
  • 已弃用 - 计划在未来框架版本中删除的类或成员,在当前版本中提供以保持向后兼容性。
    已弃用的类和成员将显示一条消息,指导你了解今后首选的类/方法。
  • 已删除 - 仅在文档中作为框架版本之间升级的用户参考而存在的已删除类或成员
  • 模板 - 在基类中定义的方法,旨在由子类覆盖
  • 抽象 - 类或成员可以定义为抽象。抽象类和成员建立类结构,并提供有限的代码(如果有)。类特定代码将通过子类中的覆盖来提供。
  • 可预防 - 如果从事件处理程序返回 false,则标记为可预防的事件将不会触发

类图标

- 表示框架类

- 单例框架类。*有关更多信息,请参见单例标志

- 组件类型框架类(Ext JS 框架中任何扩展 Ext.Component 的类)

- 表示类、成员或指南在当前查看的版本中是新的

成员图标

- 表示类型为 config 的类成员

- 表示类型为 property 的类成员

- 表示类型为 method 的类成员

- 表示类型为 event 的类成员

- 表示类型为 theme variable 的类成员

- 表示类型为 theme mixin 的类成员

- 表示类、成员或指南在当前查看的版本中是新的

类成员快速导航菜单

在 API 文档页面上类名正下方有一行按钮,对应于当前类拥有的成员类型。每个按钮按类型显示成员数(此计数会在应用筛选器时更新)。单击按钮将导航到该成员部分。将鼠标悬停在成员类型按钮上将显示一个弹出菜单,其中包含该类型的所有成员,以便快速导航。

Getter 和 Setter 方法

与类配置选项相关的 Getter 和 Setter 方法将显示在方法部分以及 API 文档和成员类型菜单的配置部分中,位于它们所使用的配置正下方。Getter 和 Setter 方法文档将位于配置行中,以便于参考。

历史记录栏

您的页面历史记录保存在本地存储中,并显示在顶部标题栏正下方(使用可用空间)。默认情况下,仅显示与您当前正在查看的产品/版本匹配的搜索结果。您可以通过单击历史记录栏右侧的 按钮并选择“全部”单选选项来扩展显示内容。这将在历史记录栏中显示所有产品/版本的所有近期页面。

在历史记录配置菜单中,您还将看到最近访问的页面列表。结果按“当前产品/版本”和“全部”单选选项进行筛选。单击 按钮将清除历史记录栏以及保存在本地存储中的历史记录。

如果在历史记录配置菜单中选择了“全部”,则会启用“在历史记录栏中显示产品详细信息”复选框选项。选中后,每个历史记录页面的产品/版本将与历史记录栏中的页面名称一起显示。将光标悬停在历史记录栏中的页面名称上也将显示产品/版本作为工具提示。

搜索和筛选器

可以使用页面顶部的搜索字段搜索 API 文档和指南。

在 API 文档页面上,还有一个筛选器输入字段,它使用筛选器字符串筛选成员行。除了按字符串筛选之外,您还可以按访问级别、继承和只读筛选类成员。这是使用页面顶部的复选框完成的。

API 类导航树底部的复选框筛选类列表,以包括或排除私有类。

单击空搜索字段将显示您最近 10 次搜索,以便快速导航。

API 文档类元数据

每个 API 文档页面(除了 Javascript 原始页面)都有一个与该类相关的元数据菜单视图。此元数据视图将包含以下一项或多项

  • 备用名称 - 一个或多个其他类名同义词(在 Ext JS 6.0.0 中,Ext.button.Button 类具有 Ext.Button 的备用类名)。备用类名通常用于向后兼容。
  • 层次结构 - 层次结构视图列出了当前类的继承链,从其祖先类到根基类。
  • Mixins - 混合到当前类的类列表
  • 继承的 Mixins - 混合到当前类祖先的类列表
  • 需要 - 实例化类所需的已定义的所有类
  • 使用 - 在其生命周期的某个时刻可能由类使用的类列表,但对于最初实例化类来说不一定需要
  • 子类 - 扩展当前类的类

展开和折叠示例和类成员

默认情况下,可运行的示例(小提琴)在页面上展开。您可以使用代码块左上角的箭头单独折叠和展开示例代码块。您还可以使用页面右上角的切换按钮切换所有示例的折叠状态。切换所有状态将在页面加载之间记住。

默认情况下,类成员在页面上折叠。您可以使用成员行左侧的箭头图标展开和折叠成员,或使用右上角的展开/折叠所有切换按钮全局展开和折叠成员。

桌面 -vs- 移动视图

在较窄的屏幕或浏览器上查看文档将导致针对较小尺寸进行优化的视图。桌面和“移动”视图之间的主要区别是

  • 全局导航将位于左侧菜单中,可通过汉堡菜单图标访问。菜单包含以下内容(在大多数页面上)
    • 当前产品名称(作为产品登录页面的链接)
    • 用于导航回文档主页的 Sencha 图标
    • 产品菜单下拉按钮
    • 用于 API 文档和指南的导航树选项卡
  • 当前上下文导航和工具位于右侧,可通过齿轮图标访问。上下文菜单包含以下内容
    • 全局搜索输入字段
    • API 文档)带有成员筛选器、“展开/折叠所有示例”按钮、“展开/折叠所有成员行”按钮、访问级别复选框以及每个成员计数的“筛选器”选项卡
    • API 文档)包含与当前类相关的元数据菜单的“相关类”选项卡
    • 指南)指南的目录

查看类源

可以通过单击 API 文档页面顶部的类名来查看类源。可以通过单击成员行右侧的“查看源”链接来查看类成员的源。

Ext JS 7.8.0


顶部

数据网格渲染和滚动

数据渲染、分页和滚动操作。

示例

关于

有时,你的数据集太大,无法全部显示在一页上。 Ext.grid.Panel 支持使用 Ext.toolbar.Paging 显示数据集中的各个页面,该工具栏使用上一个/下一个按钮加载页面。

存储设置

在我们可以在 Ext.grid.Panel 上设置分页之前,我们必须配置 Ext.data.Store 以支持分页。在下面的示例中,我们将 Ext.data.Store#cfg-pageSize 添加到 Ext.data.Store,并使用 Ext.data.reader.Reader#cfg-totalProperty 配置我们的 Ext.data.reader.Reader

Ext.create('Ext.data.Store', {
    model: 'User',
    autoLoad: true,
    pageSize: 100,
    proxy: {
        type: 'ajax',
        url : 'data/users.json',
        reader: {
            type: 'json',
            rootProperty: 'users',
            totalProperty: 'total'
        }
    }
});

Ext.data.reader.Reader#totalProperty 配置告诉 Ext.data.reader.Json 在 JSON 响应中获取结果总数的位置。此 Ext.data.Store 配置为使用类似以下内容的 JSON 响应

{
    "success": true,
    "total": 4,
    "users": [
        { "name": "Lisa", "email": "[email protected]", "phone": "555-111-1224" },
        { "name": "Bart", "email": "[email protected]", "phone": "555-222-1234" },
        { "name": "Homer", "email": "[email protected]", "phone": "555-222-1244" },
        { "name": "Marge", "email": "[email protected]", "phone": "555-222-1254" }
    ]
}

分页工具栏

现在我们已经设置了 Ext.data.Store 以支持分页,剩下的就是配置 Ext.toolbar.Paging。你可以在应用程序布局中的任何位置放置 Ext.toolbar.Paging,但通常将其停靠到 Ext.grid.Panel

Ext.create('Ext.grid.Panel', {
    store: userStore,
    columns: ...,
    dockedItems: [{
        xtype: 'pagingtoolbar',
        store: userStore,   // same store GridPanel is using
        dock: 'bottom',
        displayInfo: true
    }]
});

请参阅 分页网格 以获取工作示例。

缓冲渲染

网格和树允许对极大型数据集进行缓冲渲染,作为使用分页工具栏的替代方案。用户可以滚动浏览数千条记录,而无需一次性在屏幕上渲染所有记录所带来的性能损失。

只渲染足够的行来填充网格的可见区域,并在两侧留出一点 Ext.grid.Panel#cfg-leadingBufferZone 溢出空间以允许滚动。随着滚动的进行,将在滚动方向渲染新行,并从表格的另一侧移除行。

网格默认使用缓冲渲染,因此不再需要将插件添加到网格组件。

请参阅 大数据已筛选树 以获取工作示例。

嵌入式组件。

自 ExtJS 5.0 以来,开发人员可以使用 小部件列类 在网格单元格中嵌入组件。

在 6.2.0 之前的版本中,以这种方式嵌入的组件无法访问网格的 Ext.app.ViewModel。列的 dataIndex 引用的字段绑定到组件的 defaultBindProperty

在 6.2.0+ 中,嵌入在网格中的组件可以访问 ViewModel 及其内部的所有数据。ViewModel 包含两个特定于行的属性

record
recordIndex

自 ExtJS 6.2.0 以来,开发人员可以配置组件以显示在数据行下方(或可配置地显示在数据行上方)的展开行中。

嵌入式组件可以访问网格的 ViewModel。

请参阅 在网格中使用组件 指南以获取更多详细信息。

Ext JS 7.8.0