import Field from "@arcgis/core/layers/support/Field.js";const Field = await $arcgis.import("@arcgis/core/layers/support/Field.js");- Inheritance:
- Field→
Accessor
- Since
- ArcGIS Maps SDK for JavaScript 4.0
Information about each field in a layer. Field objects must be constructed when creating a FeatureLayer from client-side graphics. This class allows you to define the schema of each field in the FeatureLayer. Note that you do not need to add fields to the constructor of a FeatureLayer loaded from a service since they are already defined by the service. See the sample below for more information about using this module.
Example
// Each object in this array is autocast as// an instance of esri/layers/support/Fieldlet fields = [ { name: "ObjectID", alias: "ObjectID", type: "oid" }, { name: "title", alias: "title", type: "string" }, { name: "type", alias: "type", type: "string" }, { name: "mag", alias: "Magnitude", type: "double"}];
// add the array of fields to a feature layer// created from client-side graphicsfeatureLayer.set({ fields: fields, objectIdField: "ObjectID"});Constructors
Constructor
Parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
| properties | | |
Properties
| Property | Type | Class |
|---|---|---|
| | ||
declaredClass readonly inherited | ||
| | ||
| | ||
DomainUnion | null | undefined | | |
| | ||
| | ||
| | ||
| | ||
| | ||
| |
domain
- Type
- DomainUnion | null | undefined
The domain associated with the field. Domains are used to constrain the values allowed in a field. There are two types of domains: RangeDomain and CodedValueDomain.
Example
// print out the coded domain values when the layer is loadedconst layerView = await view.whenLayerView(featureLayer)await reactiveUtils.whenOnce(() => !layerView.updating);
featureLayer.fields.forEach((field) => { if (!field.domain) { return; }
let domain = field.domain console.log(field.name, domain.type, domain.name);
if (domain.type === "coded-value"){ domain.codedValues.forEach((codeValue) => { console.log("name:", codeValue.name, "code:", codeValue.code); }); }}); nullable
- Type
- boolean
Indicates if the field can accept null values. Requires ArcGIS Server version 10.1 or greater.
- Default value
- true
type
- Type
- FieldType
The data type of the field.
Notes
Support for big-integer, date-only, time-only and timestamp-offset fields was added in beta for FeatureLayer and MapImageLayer at version 4.28.
The big-integer field type is in beta and may not be fully supported in the JavaScript SDK.
The JavaScript SDK only supports safe integers that fall between -9007199254740991 (minimum)
and 9007199254740991 (maximum). Numbers that fall outside of this
range will be incorrect due to rounding, resulting in graphical or performance issues.
For example, a calculation using Arcade expressions that results in a value exceeding these safe integers may be incorrect since rounding can occur.
Web applications can only edit whole numbers between -9007199254740991 and 9007199254740991.
- See also
valueType
- Type
- FieldValueType | null | undefined
- Since
- ArcGIS Maps SDK for JavaScript 4.12
The types of values that can be assigned to a field. See the table below for a list of possible values.
| Mode | Description |
|---|---|
| binary | Only one of two values are possible for each feature. Some examples include the following: On or off, Yes or no, True or false, or Inhabited or vacant. |
| coordinate | These fields store a geographic coordinate value such as x, y, z, latitude, or longitude. |
| count-or-amount | Integers (no decimal) that represent how many or how much there is of a specific attribute. |
| currency | Numeric values that represent a monetary value. |
| date-and-time | Values in this field store explicit dates and times or date references such as days of the week, months, or years. |
| description | Text that provides a longer description of the feature, more than just a name or title. |
| email-address | Text that represents an email address. |
| location-or-place-name | Values in this field represent a geographic location. Examples of values in such a field include a street address, city name, region, building name (such as A.K. Smiley Public Library), attraction name (such as Alameda County Fairgrounds or Cairngorms National Park), postal code, or country. |
| measurement | A number that reflects a characteristic that you can precisely measure. |
| name-or-title | Text that represents a name, title, label, or keyword for each feature. |
| none | No specified type. |
| ordered-or-ranked | The values in this field represent a feature's status in an ordered or ranked list. For example, a feature could be one of the following: Small, medium, large, First, second, third, fourth, or Informational, warning, error, failure. |
| percentage-or-ratio | Number values in this field reflect the relationship between different quantities. |
| phone-number | Text that represents a phone number. |
| type-or-category | Types or categories that group features based on common characteristics. |
| unique-identifier | The values in this field are used to positively distinguish one feature or entity from another. |
Methods
fromJSON
- Signature
-
fromJSON (json: any): any
Creates a new instance of this class and initializes it with values from a JSON object
generated from an ArcGIS product. The object passed into the input json
parameter often comes from a response to a query operation in the REST API or a
toJSON()
method from another ArcGIS product. See the Using fromJSON()
topic in the Guide for details and examples of when and how to use this function.
Parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
| json | A JSON representation of the instance in the ArcGIS format. See the ArcGIS REST API documentation for examples of the structure of various input JSON objects. | |
- Returns
- any
Returns a new instance of this class.
toJSON
- Signature
-
toJSON (): any
Converts an instance of this class to its ArcGIS portal JSON representation. See the Using fromJSON() guide topic for more information.
- Returns
- any
The ArcGIS portal JSON representation of an instance of this class.