FieldElement

AMD: require(["geoscene/form/elements/FieldElement"], (FieldElement) => { /* code goes here */ });
ESM: import FieldElement from "@geoscene/core/form/elements/FieldElement";
类: geoscene/form/elements/FieldElement
继承于:FieldElement Element Accessor
起始版本:GeoScene API for JavaScript 4.16

FieldElement 表单元素定义要素图层的字段 如何参与 FeatureForm。这是在要素表单要素图层formTemplate 中设置字段配置的推荐方法。

表单模板字段元素

另请参阅:
示例:
// Create the field element
const fieldElement1 = new FieldElement({
  fieldName: "inspector",
  label: "Inspector name"
});

const fieldElement2 = new FieldElement({
  fieldName: "inspdate",
  label: "Inspection date",
  description: "Date inspection was handled",
  input: { // autocastable to DateTimePickerInput
    type: "datetime-picker",
      includeTime: true,
      min: 1547678342000,
      max: 1610836742000
    }
});

const fieldElement3 = new FieldElement({
  fieldName: "placename",
  label: "Business name",
  editable: false
});

const fieldElement4 = new FieldElement({
  fieldName: "floodinsur",
  label: "Flood insurance",
  input: { // autocastable to RadioButtonsInput
    type: "radio-buttons",
    noValueOptionLabel: "No value",
    showNoValueOption: true
  }
});

// Next pass in any elements to the FormTemplate
const formTemplate = new FormTemplate({
  title: "Inspector report",
  description: "Enter all relevant information below",
  elements: [fieldElement1, fieldElement2, fieldElement3, fieldElement4] // Add all elements to the template
});

构造函数

new FieldElement(properties)
参数:
properties Object
可选

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

属性概述

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

类的名称。

更多信息Accessor
String更多信息

元素的描述提供了其背后的目的。

更多信息Element
CodedValueDomain|RangeDomain更多信息

字段的编码值域范围域

更多信息FieldElement
布尔值更多信息

一个布尔值,用于确定用户是否可以编辑此表单元素。

更多信息FieldElement
String更多信息

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

更多信息FieldElement
String更多信息

由要素图层定义的字段名称。

更多信息FieldElement
String更多信息

包含用于在编辑字段时帮助编辑者的提示

更多信息FieldElement
TextBoxInput|TextAreaInput|DateTimePickerInput|BarcodeScannerInput|ComboBoxInput|RadioButtonsInput|SwitchInput更多信息

要用于元素的输入。

更多信息FieldElement
String更多信息

包含字段别名的字符串值。

更多信息Element
String更多信息

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

更多信息FieldElement
String更多信息

指示表单元素的类型。

更多信息FieldElement
String更多信息

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

更多信息FieldElement
String更多信息

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

更多信息Element

属性详情

declaredClass Stringreadonly inherited

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

description String inherited

元素的描述提供了其背后的目的。

字段的编码值域范围域

editable Boolean

一个布尔值,用于确定用户是否可以编辑此表单元素。如果未提供,则可编辑状态派生自服务中引用字段的可编辑属性。被可编辑表达式(如果存在)取代。

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

默认值:true
editableExpression String
起始版本:GeoScene API for JavaScript 4.23

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

当此表达式的计算结果为 true 时,该元素是可编辑的。当此表达式的计算结果为 false 时,该元素是不可编辑的。如果未提供表达式,则可编辑行为由 可编辑属性定义。如果要素服务上的引用字段不可编辑,则可编辑表达式将被忽略且元素不可编辑。

引用的表达式必须在表单模板的 expressionInfos 中定义。不能在元素对象中以内联方式设置它。

另请参阅:
fieldName String

由要素图层定义的字段名称。设置此属性以指示要编辑的字段。

hint String

包含用于在编辑字段时帮助编辑者的提示将此设置为 TextAreaInputTextBoxInput 中文本/数字输入的临时占位符。

要用于元素的输入。客户端应用程序负责定义默认用户界面。

包含字段别名的字符串值。这不是针对 Arcade 表达式,而是使用标题。

requiredExpression String

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

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

引用的表达式必须在表单模板的 expressionInfos 中定义。不能在元素对象中以内联方式设置它。

另请参阅:
type Stringreadonly

指示表单元素的类型。FieldElement 的类型为 field

对于 FieldElement 类型总为 "field"

示例:
// Create an array of elements. If the element is autocasted, the type property must be set.
elements: [{
  // autocastable as FieldElement
  type: "field",
  fieldName: "lastname",
  label: "Last name"
 },
 {
  type: "field",
  fieldName: "firstname",
  label: "First name"
 }]
valueExpression String
起始版本:GeoScene API for JavaScript 4.23

对在 FormTemplate 的 expressionInfos 中定义的 Arcade 表达式名称的引用。表达式必须遵循表单计算配置文件定义的规范。表达式可以使用 $feature 全局输入引用字段值,并且必须返回日期、数字和字符串值。

当此表达式计算时,字段的值将更新为表达式的结果。

引用的表达式必须在表单模板的 expressionInfos 中定义。不能在元素对象中以内联方式设置它。

另请参阅:
visibilityExpression String inherited

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

当此表达式的计算结果为 true 时,显示该元素。当此表达式的计算结果为 false 时,不显示该元素。如果未提供表达式,则始终显示该元素。为不可为空的字段定义可见性表达式时必须小心,即确保此类字段具有默认值或对用户可见,以便他们可以在提交表单之前提供值。

引用的表达式必须在表单模板的 expressionInfos 中定义。不能在元素对象中以内联方式设置它。

另请参阅:
示例:
// Expression created within ExpressionInfos and is referenced in element
const expression = new ExpressionInfo({
  name: "alwaysHidden",
  expression: "false"
});

// Reference an already-defined visibilityExpression set within the ExpressionInfos
const fieldElement = new FieldElement({
  type: "field",
  fieldName: "inspemail",
  label: "Email address",
  visibilityExpression: "alwaysHidden"
});

formTemplate.expressionInfos = [ expression ];
formTemplate.elements = [ fieldElement ];

方法概述

隐藏继承方法 显示继承方法
名称 返回类型 描述
FieldElement更多信息

创建 FieldElement 类的深层克隆。

更多信息FieldElement
*更多信息

创建此类的新实例,并使用从 GeoScene 产品生成的 JSON 对象中的值对其进行初始化。

更多信息Element
Object更多信息

将此类的实例转换为其 GeoScene portal JSON 表示形式。

更多信息Element

方法详情

clone(){FieldElement}

创建 FieldElement 类的深层克隆。

返回:
类型 说明
FieldElement FieldElement 类的深层克隆。
fromJSON(json){*}static

创建此类的新实例,并使用从 GeoScene 产品生成的 JSON 对象中的值对其进行初始化。传递到输入 json 参数的对象通常来自对 REST API 中的查询操作的响应或来自另一个 GeoScene 产品的 toJSON() 方法。请参阅指南中的 fromJSON() 主题,了解有关何时以及如何使用此功能的详细信息和示例。

参数:
json Object

GeoScene 格式的实例的 JSON 表示形式。有关各种输入 JSON 对象的结构示例,请参阅 GeoScene REST API 文档

返回:
类型 说明
* 返回此类的新实例。
toJSON(){Object}inherited

将此类的实例转换为其 GeoScene portal JSON 表示形式。有关更多信息,请参阅 fromJSON()主题。

返回:
类型 说明
Object 此类示例的 GeoScene portal JSON 表现形式。

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.