ListItem

AMD: require(["geoscene/widgets/LayerList/ListItem"], (ListItem) => { /* code goes here */ });
ESM: import ListItem from "@geoscene/core/widgets/LayerList/ListItem";
类: geoscene/widgets/LayerList/ListItem
继承于:ListItem Accessor
起始版本:GeoScene Maps SDK for JavaScript 4.2

ListItem 类表示 LayerListViewModel 中的 operationalItems 之一。在 LayerList 微件 UI 中,列表项目表示视图中显示的图层。它提供对关联图层属性的访问,并允许开发人员配置与图层相关的操作,并可将内容添加到与图层相关的项目中。

要隐藏 LayerList 微件中的列表项目,您必须将所需图层上的 listMode 属性设置为 hide。您无法使用此类或 LayerList 类隐藏列表项目。

另请参阅

属性概述

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

操作面板是否在 LayerList 中打开。

更多详情
ListItem
Collection<Collection<(ActionButton|ActionToggle)>>

可以在项目上触发的嵌套二维操作集合。

更多详情
ListItem
Collection<ListItem>

当图层包含子图层时,此属性是属于给定图层的 ListItem 对象的集合。

更多详情
ListItem
Boolean

指示是否可以排序或移动/重新排序列表项目的子项 (或 GroupLayer 中的子图层)。

更多详情
ListItem
String

仅当列表项目表示 StreamLayer 时有效。

更多详情
ListItem
String

类的名称。

更多详情
Accessor
Error

如果发生错误,则返回 Error 对象。

更多详情
ListItem
Boolean

如果为 true,则从 LayerList 实例中隐藏图层。

更多详情
ListItem
Layer

与触发操作相关联的图层。

更多详情
ListItem
LayerView

LayerView,显示关联 layer 的数据。

更多详情
ListItem
Boolean

图层是否在 LayerList 中打开。

更多详情
ListItem
ListItemPanel

允许您在 LayerList 微件中显示每个 ListItem 的自定义内容。

更多详情
ListItem
ListItem

此项目的父项

更多详情
ListItem
Boolean

发布图层时,值为 true

更多详情
ListItem
Boolean

指示是否可以排序或移动/重新排序列表项目 (或地图中的图层)。

更多详情
ListItem
String

图层的标题。

更多详情
ListItem
Boolean

更新图层时,值为 true;例如,如果它正在获取数据。

更多详情
ListItem
MapView|SceneView

微件将从中操作的视图。

更多详情
ListItem
String

指示如何管理子图层的可见性。

更多详情
ListItem
Boolean

指示 ListItem 是否可见。

更多详情
ListItem
Boolean

图层在当前比例下是否可见。

更多详情
ListItem

属性详细信息

actionsOpen Boolean

操作面板是否在 LayerList 中打开。

默认值:false
自动转换自 Object[][]

可以在项目上触发的嵌套二维操作集合。

当图层包含子图层时,此属性是属于给定图层的 ListItem 对象的集合。

childrenSortable Boolean
起始版本:GeoScene Maps SDK for JavaScript 4.16

指示是否可以排序或移动/重新排序列表项目的子项 (或 GroupLayer 中的子图层)。

默认值:true
示例
// disables the children of a parent list item from being sorted
listItem.childrenSortable = false;
connectionStatus Stringreadonly
起始版本:GeoScene Maps SDK for JavaScript 4.24

仅当列表项目表示 StreamLayer 时有效。指示流图层连接的状态。这将覆盖 updating 属性。连接流图层后,列表项目标题旁边将出现一个绿色圆圈。当其为 disconnected 后,列表项目标题旁边将显示一个空心的红色环。

可能值"connected"|"disconnected"

declaredClass Stringreadonly inherited
起始版本:GeoScene Maps SDK for JavaScript 4.7

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

error Errorreadonly

如果发生错误,则返回 Error 对象。

hidden Boolean
起始版本:GeoScene Maps SDK for JavaScript 4.24

如果为 true,则从 LayerList 实例中隐藏图层。这是 Layer.listMode 的替代方案,它从包含图层的所有 LayerList 实例中隐藏图层。

默认值:false
示例
let layerList1 = new LayerList({
  view,
  container: layerList1Container,
  listItemCreatedFunction: (event) => {
    // hides the USA - Highway layer from the
    // layerList1 instance of layerlist
    if(event.item.title === "USA - Highways") {
      event.item.hidden = true;
    }
  }
});
layer Layer

与触发操作相关联的图层。

默认值:null
layerView LayerViewreadonly

LayerView,显示关联 layer 的数据。

open Boolean

图层是否在 LayerList 中打开。

默认值:false
起始版本:GeoScene Maps SDK for JavaScript 4.7

允许您在 LayerList 微件中显示每个 ListItem 的自定义内容。

使用 ListItemPanel 的常见场景是在每个列表项中显示 Legend 微件。legend 关键字可用于面板的 content 属性,以显示 LayerList 中每个图层的图例。

示例
// displays the legend for each layer list item
const layerList = new LayerList({
  view: view,
  listItemCreatedFunction: function(event){
    const item = event.item;
    item.panel = {
      content: "legend"
    };
  }
});
// displays content from the DOM in the LayerList
const layerList = new LayerList({
  view: view,
  listItemCreatedFunction: function(event){
    const item = event.item;
    item.panel = {
      content: document.getElementById("myDiv"),
      className: "geoscene-icon-chart",
      open: item.visible
    };
  }
});
parent ListItem
起始版本:GeoScene Maps SDK for JavaScript 4.5

此项目的父项

默认值:null
publishing Booleanreadonly
起始版本:GeoScene Maps SDK for JavaScript 4.25

发布图层时,值为 true。如果未发布图层checkPublishStatusEnabledfalse,则值将为 false

默认值:false
sortable Boolean
起始版本:GeoScene Maps SDK for JavaScript 4.16

指示是否可以排序或移动/重新排序列表项目 (或地图中的图层)。

默认值:true
示例
// disables the list item from being sorted
listItem.sortable = false;
title String

图层的标题。

updating Booleanreadonly

更新图层时,值为 true;例如,如果它正在获取数据。

默认值:false

微件将从中操作的视图。

visibilityMode Stringreadonly

指示如何管理子图层的可见性。

visible Boolean

指示 ListItem 是否可见。

默认值:true
visibleAtCurrentScale Booleanreadonly

图层在当前比例下是否可见。

默认值:true

方法概述

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

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

更多详情
Accessor
ListItem

创建此对象的深度克隆。

更多详情
ListItem
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() 进行删除。如果未提供键,则句柄将被添加到默认组。

clone(){ListItem}

创建此对象的深度克隆。

返回
类型 描述
ListItem ListItem 实例的克隆。
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");

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