我现在正在工作的是一个自定义编辑器小部件,具有两个JimuMapViewComponent和DataSourceComponent。编辑器小部件配置为在ActiveViewChanged中读取已配置的层,并将该层保存为状态。然后在DataRender上,我得到了建议的选择@AdrianAkbariNet4s而且@ShawnGoulet并用于创建带有层引用的特性,并将其传递给startUpdateWorkflowAtEdit。
如果这一点。state && this.state.currentWidget && ds.getSelectedRecords().length==1){let g=new Graphic();g.attributes = ds.getSelectedRecords () [0] .getData ();g.layer = this.state.currentEditLayer;this.state.currentWidget.startUpdateWorkflowAtFeatureEdit (g);}
这似乎有我正在寻找的行为,保持编辑器与功能选择的变化同步。谢谢你很多。山姆
嗨,山姆,
一种方法是使用弹出式selectedFeature(图形)。我们有一个异步函数,它(1)检查是否有一个选定的特性&(2)如果有一个选定的特性,处理编辑工作流程,如下所示:
/** @jsx jsx */ //编辑函数async editSelectedFeature() {const jmv = this.state.jimuMapView;if (jmv.view.popup.selectedFeature) {this.state.currentWidget.startUpdateWorkflowAtFeatureEdit(jmv.view.popup.selectedFeature);} else{警报('请先选择一个特征。');}} //按钮在我们的html . editselectedfeature ()}}>
欢呼,
肖恩
嘿@ShawnGoulet谢谢你的建议。我试了一下,但没有成功。你能告诉我是否有一种方法可以在没有弹出引用的情况下从地图的目标层获得所选的地图功能吗?我们正在从相关列表中选择地图功能,并没有启动弹出窗口-因此没有对弹出窗口的引用。在任何情况下,编辑器都是在该页上创建的,直到再次单击映射。理想情况下,Edit feature命令可以简单地识别映射中所选的特性,或者当小部件初始化时,可以告诉编辑器直接显示该特性的编辑表单。你认为这能做到吗?谢谢你!
非常感谢你的帮助。
山姆
我现在正在工作的是一个自定义编辑器小部件,具有两个JimuMapViewComponent和DataSourceComponent。编辑器小部件配置为在ActiveViewChanged中读取已配置的层,并将该层保存为状态。然后在DataRender上,我得到了建议的选择@AdrianAkbariNet4s而且@ShawnGoulet并用于创建带有层引用的特性,并将其传递给startUpdateWorkflowAtEdit。
如果这一点。state && this.state.currentWidget && ds.getSelectedRecords().length==1){let g=new Graphic();g.attributes = ds.getSelectedRecords () [0] .getData ();g.layer = this.state.currentEditLayer;this.state.currentWidget.startUpdateWorkflowAtFeatureEdit (g);}
这似乎有我正在寻找的行为,保持编辑器与功能选择的变化同步。谢谢你很多。山姆