背景
最近升級時遇到了之前碰到的問題,但是忘記解決方法了。又重新對比了舊代碼才找到,所以記錄下。
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 })