Skip to main content

Field

model/field.Field

Number datasheet column operations and information.

To manipulate the number datasheet columns, you can use useField (single column information), useFields (multiple column information).

Accessors

id

get id(): string

The ID for this model.

Returns

string

Example

console.log(myField.id);
// => 'fld1234567'

name

get name(): string

The name of the field. Can be watched.

Returns

string

Example

console.log(myField.name);
// => 'Name'

type

get type(): FieldType

The type of the field. Can be watched. FieldType

Returns

FieldType

Example

console.log(myField.type);
// => 'SingleLineText'

description

get description(): null | string

The description of the field, if it has one. Can be watched.

Returns

null | string

Example

console.log(myField.description);
// => 'This is my field'

property

get property(): FieldType

The configuration property of the field. The structure of the field's property depend on the field's type. null if the field has no property. Can be watched. Refer to FieldType.

Returns

any

FieldType

Example

import { FieldType } from '@apitable/widget-sdk';

if (myField.type === FieldType.Currency) {
console.log(myField.options.symbol);
// => '¥'
}

isComputed

get isComputed(): boolean

true if this field is computed, false otherwise. A field is "computed" if it's value is not set by user input (e.g. autoNumber, magic lookup, magic formula, etc.). Can be watched

Returns

boolean

Example

console.log(mySingleLineTextField.isComputed);
// => false
console.log(myAutoNumberField.isComputed);
// => true

isPrimary

get isPrimary(): boolean

true if this field is its parent table's primary field, false otherwise. Should never change because the primary field of a datasheet cannot change.

Returns

boolean


required

get required(): null | boolean

Is the magic form required.

Returns

null | boolean

Methods

getPropertyInView

getPropertyInView(viewId): null | IPropertyInView

Get the current view feature properties, such as whether the field is hidden in a view

Parameters

NameTypeDescription
viewIdstringthe view ID

Returns

null | IPropertyInView

Example

const propertyInView = field.getPropertyInView('viwxxxxx');
console.log(propertyInView?.hidden)

updateDescription

updateDescription(description): Promise<void>

Updates the description for this field.

Throws an error if the user does not have permission to update the field, or if an invalid description is provided.

Parameters

NameTypeDescription
descriptionnull | stringnew description for the field

Returns

Promise<void>

Example

 field.updateDescription('this is a new description')

updateProperty

updateProperty(property, options?): Promise<void>

Beta API, future changes are possible.

Updates the property for this field, tips: that the update property configuration must be overwritten in full.

Throws an error if the user does not have permission to update the field, if invalid property are provided, if this field has no writable property, or if updates to this field type is not supported.

Refer to FieldType for supported field types, the write format for property, and other specifics for certain field types.

Parameters

NameTypeDescription
propertyanynew property for the field.
options?IEffectOptionoptional options to affect the behavior of the update.

Returns

Promise<void>

Example

function addOptionToSelectField(selectField, nameForNewOption) {
const updatedOptions = {
options: [
...selectField.options,
{name: nameForNewOption},
]
};

if (selectField.hasPermissionToUpdateOptions(updatedOptions)) {
selectField.updateProperty(updatedOptions);
}
}

hasPermissionForUpdateDescription

hasPermissionForUpdateDescription(description?): boolean

Checks whether the current user has permission to perform the given description update.

Parameters

NameTypeDescription
description?stringnew description for the field, Length limit 200.

Returns

boolean

Example

const canUpdateFieldDescription = field.hasPermissionForUpdateDescription();
if (!canUpdateFieldDescription) {
alert('not allowed!');
}

hasPermissionForUpdateProperty

hasPermissionForUpdateProperty(property?): boolean

Check whether the current user has permission to perform the given option update.

Property about the update write format, refer to FieldType.

Parameters

NameTypeDescription
property?anynew property for the field.

Returns

boolean

Example

const canUpdateFieldProperty = field.hasPermissionForUpdateProperty();
if (!canUpdateFieldProperty) {
alert('not allowed!');
}

checkPermissionForUpdateProperty

checkPermissionForUpdateProperty(property?): IPermissionResult

Check whether the current user has permission to perform the given option update.

Parameters

NameTypeDescription
property?anynew property for the field.

Returns

IPermissionResult

Description

Accepts partial input, in the same format as updateProperty.

property about the update write format, refer to FieldType.

Returns {acceptable: true} if the current user can update the specified property.

Returns {acceptable: false, message: string} if no permission to operate, message may be used to display an error message to the user.

Example

// Check whether the current user has permission to perform the given property update, 
// when the update is accompanied by a write, it can also be verified at the same time.
const updatePropertyCheckResult = field.checkPermissionForUpdateProperty({
defaultValue: '1',
});
if (!updatePropertyCheckResult.acceptable) {
alert(updatePropertyCheckResult.message);
}

// Check if user could potentially update a property.
// Use when you don't know the specific a property you want to update yet (for example,
// to show or hide UI controls that let you start update a property.)
const updatePropertyCheckResult =
field.checkPermissionForUpdateProperty();