FieldColumnConfig

AMD: require(["geoscene/widgets/FeatureTable/FieldColumnConfig"], (FieldColumnConfig) => { /* code goes here */ });
ESM: import FieldColumnConfig from "@geoscene/core/widgets/FeatureTable/FieldColumnConfig";
类: geoscene/widgets/FeatureTable/FieldColumnConfig
继承于:FieldColumnConfig FieldConfig Accessor
起始版本:GeoScene Maps SDK for JavaScript 4.15
已弃用从 4.24 版开始。通过 FeatureTable 的 tableTemplate 使用 FieldColumnTemplate

用于在 FeatureTable 微件中显示单个字段的配置选项。

以下是在字段配置中启用/禁用编辑时要考虑的一些事项。

编辑权限可以按以下优先级进行细分:

  1. Field - 这派生自 FeatureLayerSceneLayer。它采用在 Field.editable 属性中设置的内容。要启用编辑,这必须始终为 true。可以使用字段列配置覆盖此内容。
  2. Config - 可以通过设置 FieldColumnConfigeditable 属性来配置字段的可编辑权限。
  3. FeatureTable - 必须在表上设置 editingEnabled 属性,才能启用任何类型的编辑。

例如,如果在微件中禁用了表编辑,即不设置 enableEditing,仍可通过设置 editable 属性来启用对特定列的编辑。反之亦然,如果启用了表编辑,则可使用字段配置来禁用对特定列的编辑。

如果服务的字段不可编辑,则无法使用上述选项之一覆盖其权限。

另请参阅
示例
// Shows how field column configs can be set to control editing
// within a table
const table = new FeatureTable({
  editingEnabled: true, //enables editing on the entire table (if service allows it)
  layer: featureLayer,
  container: document.getElementById("table"),
  fieldConfigs: [{  // autocasts to FieldColumnConfig
    name: "NAME",
    label: name,
    direction: "asc",
  },
  {
  name: "ADDRESS",
  label: address,
  editable: false, // disables editing for the ADDRESS field
  required: true
}]
});

构造函数

new FieldColumnConfig(properties)
参数
properties Object
optional

有关可能传递给构造函数的所有属性的列表,请参见属性

示例
// Typical usage for FieldColumnConfig.
const fieldConfig1 = new FieldColumnConfig({
  name: "FID",
  label: "ID",
  // This field will not be initially shown within the table
  visible: false
 });

const fieldConfig2 = new FieldColumnConfig({
  name: "NAME",
  label: "School Name",
  // The table will be sorted by this column
  // in ascending order
  direction: "asc"
});

// Apply field configs to feature table
const featureTable = new FeatureTable({
  layer: featureLayer,
  fieldConfigs: [fieldConfig1, fieldConfig2],
  container: "tableDiv"
});

属性概述

可以设置、检索或侦听任何属性。请参阅使用属性主题。
显示继承属性 隐藏继承属性
名称 类型 描述
String

类的名称。

更多详情
Accessor
String

字段的说明。

更多详情
FieldConfig
String|null

控制列的排序顺序。

更多详情
FieldColumnConfig
Boolean

指示是否可以编辑字段。

更多详情
FieldConfig
Boolean

指示日期字段是否应显示编辑时间的输入。

更多详情
FieldConfig
Number

将其与 FeatureTable.multiSortEnabled 和 FeatureTable.direction 属性结合使用,以设置对多个列的排序功能。

更多详情
FieldColumnConfig
String

字段的标注。

更多详情
FieldConfig
Number

限制输入长度。

更多详情
FieldConfig
ButtonMenuConfig

设置此对象可自定义字段列的菜单内容。

更多详情
FieldColumnConfig
Number

限制输入长度。

更多详情
FieldConfig
String

字段名称。

更多详情
FieldConfig
Boolean

指示该字段是否为必填字段。

更多详情
FieldConfig
String

对在 FeatureForm 的 expressionInfos 中定义的 Arcade 表达式 表达式的名称的引用。

更多详情
FieldConfig
Boolean

指示是否可以对字段列进行排序。

更多详情
FieldColumnConfig
String

水平对齐列单元格内容。

更多详情
textAlign
Boolean

指示字段列是否可见。

更多详情
FieldColumnConfig

属性详细信息

declaredClass Stringreadonly inherited

类的名称。声明的类名称格式化为 geoscene.folder.className

description String inherited

字段的说明。说明显示在字段下方。

direction String|null

控制列的排序顺序。此属性将仅在 FeatureTable 微件中的一上使用。如果在同一 FeatureTable 中的多个 fieldColumn 上指定了方向,则仅会在最大索引的列上执行。例如,假设名为 ObjectId 的第一个列设置为 asc,而表顺序后面的另一列也具有设置方向,则对于具有设置方向的最后一列,初始 ObjectId 列的方向将被忽略。

可能值 描述
asc 按升序对列进行排序。
desc 按降序对列进行排序。
null 不会对列应用任何排序。

可能值"asc"|"desc"

另请参阅

指示是否可以编辑字段。

这不会更改基础服务的字段以及是否可以编辑它。

默认值:true
includeTime Boolean inherited
起始版本:GeoScene Maps SDK for JavaScript 4.17

指示日期字段是否应显示编辑时间的输入。

默认值:true
initialSortPriority Number
起始版本:GeoScene Maps SDK for JavaScript 4.23

将其与 FeatureTable.multiSortEnabled 和 FeatureTable.direction 属性结合使用,以设置对多个列的排序功能。与其他列相比,此属性指示排序列的索引,数字越小,优先级越高。

如果未设置排序优先级,则优先级默认为最近排序的列。在通过 UI 进行排序时,或通过调用 FeatureTable.sortColumn 以编程方式排序时,会发生这种情况。例如,使用下面的示例代码段,针对三列设置了排序优先级,其中 "Status” 具有最小优先级。调用 table.sortColumn("Status", "asc") 会将 Status 列更新为最高优先级。如果通过列 UI 手动排序,也会发生这种情况。

默认值:null
另请参阅
示例
const table = new FeatureTable({
  layer: featureLayer,
  multiSortEnabled: true,
  fieldConfigs: [{ // autocasts to FieldColumnConfig
    name: "ObjectId",
    direction: "asc",
    initialSortPriority: 1, // This field's sort order takes second-highest priority.
  },
  {
    name: "Name",
    direction: "asc",
    initialSortPriority: 0, // This field's sort order takes the highest priority.
  },
  {
    name: "Status",
    direction: "asc",
    initialSortPriority: 2 // This field's sort order is prioritized after Name and ObjectId, respectively.
  }],
  container: "tableDiv"
});

字段的标注。标注显示在字段上方。

maxLength Number inherited

限制输入长度。

这仅适用于 numerictext 字段类型。

默认值:-1
起始版本:GeoScene Maps SDK for JavaScript 4.16

设置此对象可自定义字段列的菜单内容。

另请参阅
minLength Number inherited
起始版本:GeoScene Maps SDK for JavaScript 4.16

限制输入长度。

这仅适用于 numerictext 字段类型。

默认值:-1

字段名称。

指示该字段是否为必填字段。

这无法更改基础服务的字段要求。

默认值:false
requiredExpression String inherited
起始版本:GeoScene Maps SDK for JavaScript 4.16

对在 FeatureForm 的 expressionInfos 中定义的 Arcade 表达式 表达式的名称的引用。表达式必须遵循约束 Arcade 配置文件定义的规范。表达式可以使用 $feature 配置变量来引用字段值,并且必须返回 truefalse

当此表达式的计算结果为 true 并且元素可见时,元素必须具有有效值才能创建或编辑要素。当表达式的计算结果为 false 时,不需要该元素。如果未提供表达式,则默认行为是不需要该元素。如果引用的字段不可为空,则忽略所需的表达式并且始终需要该元素。

另请参阅
sortable Boolean
起始版本:GeoScene Maps SDK for JavaScript 4.16

指示是否可以对字段列进行排序。

默认值:true
textAlign Stringinner

水平对齐列单元格内容。支持的值:"start" | "center" | "end".

可能值"start"|"center"|"end"

默认值:start
visible Boolean

指示字段列是否可见。

默认值:true

方法概述

显示继承的方法 隐藏继承的方法
名称 返回值类值 描述

添加一个或多个与对象的生命周期相关联的句柄。

更多详情
Accessor
Boolean

如果存在指定的句柄组,则返回 true。

更多详情
Accessor

移除对象拥有的句柄组。

更多详情
Accessor

方法详细说明

addHandles(handleOrHandles, groupKey)inherited
起始版本:GeoScene Maps SDK for JavaScript 4.25

添加一个或多个与对象的生命周期相关联的句柄。当对象被销毁时,将移除句柄。

// Manually manage handles
const handle = reactiveUtils.when(
  () => !view.updating,
  () => {
    wkidSelect.disabled = false;
  },
  { once: true }
);

// Handle gets removed when the object is destroyed.
this.addHandles(handle);
参数
handleOrHandles WatchHandle|WatchHandle[]

对象销毁后,标记为要移除的句柄。

groupKey *
optional

标识句柄应添加到的组的键。组中的所有句柄稍后都可使用 Accessor.removeHandles() 进行删除。如果未提供键,则句柄将被添加到默认组。

hasHandles(groupKey){Boolean}inherited
起始版本:GeoScene Maps SDK for JavaScript 4.25

如果存在指定的句柄组,则返回 true。

参数
groupKey *
optional

组键。

返回
类型 描述
Boolean 如果存在指定的句柄组,则返回 true
示例
// Remove a named group of handles if they exist.
if (obj.hasHandles("watch-view-updates")) {
  obj.removeHandles("watch-view-updates");
}
removeHandles(groupKey)inherited
起始版本:GeoScene Maps SDK for JavaScript 4.25

移除对象拥有的句柄组。

参数
groupKey *
optional

要移除的组键或组键的数组或集合。

示例
obj.removeHandles(); // removes handles from default group

obj.removeHandles("handle-group");
obj.removeHandles("other-handle-group");

您的浏览器不再受支持。请升级您的浏览器以获得最佳体验。请参阅浏览器弃用帖子以获取更多信息