ArcGIS API for JavaScript Editor Widget 选中多个要素不显示名称
背景
最近升级时遇到了之前碰到的问题,但是忘记解决方法了。又重新对比了旧代码才找到,所以记录下。
FeatureLayer的构建方式不是url,而是用的source
环境
Vue3.0
@arcgis/core4.2.7
Google Chrome 版本 104.0.5112.101(正式版本) (64 位)
问题
ArcGIS API for JavaScript Editor Widget 选中多个要素不显示想要的名称,都是无标题,只有单击下“无标题”才能显示想要的名称。
解决方案
要设置 displayField,比如

1 const houseLayer = new FeatureLayer({ 2 displayField: 'houseName', 3 id: 'houseLayer', 4 title: '房屋', 5 // autocast as a Collection of new Graphic() objectIdField: "ObjectID" }); 6 fields: [ 7 { 8 name: 'no', 9 alias: '编号', 10 type: 'integer', 11 editable: false 12 }, 13 { 14 name: 'id', 15 alias: '唯一编号', 16 type: 'integer', 17 editable: true 18 }, 19 { 20 name: 'houseName', 21 alias: '房屋名称', 22 type: 'string', 23 editable: false 24 }, 25 { 26 name: 'building', 27 alias: '幢号', 28 type: 'string', 29 editable: false 30 }, 31 { 32 name: 'houseAddress', 33 alias: '房屋地址', 34 type: 'string', 35 editable: false 36 }, 37 { 38 name: 'flag', 39 alias: '标记', 40 type: 'string', 41 nullable: false, 42 editable: true, 43 defaultValue: '待修改', 44 45 domain: { 46 type: 'coded-value', 47 name: 'AncillaryRoleDomain', 48 codedValues: [ 49 { 50 name: '待修改', 51 code: '1' 52 }, 53 { 54 name: '已确认', 55 code: '3' 56 } 57 ] 58 // "mergePolicy": "esriMPTDefaultValue", 59 // "splitPolicy": "esriSPTDefaultValue" 60 } 61 } 62 ], 63 source: source, 64 outFields: '*', 65 66 objectIdField: 'no', 67 geometryType: 'point', 68 69 spatialRefrence: { 70 wkid: 4490 71 }, 72 renderer: houseRender 73 // popupTemplate: decrepitBuildingTemplate 74 })
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程