如何访问嵌入表单中的流程变量



我想访问嵌入表单中的流程变量,但无法访问https://docs.camunda.org/manual/7.8/reference/embedded-forms/javascript/examples/以及通过https://github.com/camunda/camunda-bpm-examples/tree/master/usertask/task-form-embedded-serialized-java-object我想我已经掌握了窍门,但下面的代码就是不起作用,尽管它看起来与文档是1:1的。

也许问题是我试图访问的变量是LinkedHashMap(在Groovy中创建为mVariables = ['something': 'foo'](

以下片段在Camunda任务列表中没有显示任何内容。

<form role="form" name="form" xmlns="http://www.w3.org/1999/html">
<script cam-script type="text/form-script">
camForm.on('form-loaded', function() {
camForm.variableManager.fetchVariable('mVariables');
});
camForm.on('variables-fetched', function() {
$scope.mVariables= camForm.variableManager.variable('mVariables').value;
});
</script>
<h1>{{mVariables.something}}</h1>
<p ng-bind="mVariables.something"></p>
<form>

有人能提供一个读取LinkedHashMap过程变量的最小工作示例吗?

实际上,LinkedHashMap不能像我建议的那样传递。它写在本文档网站顶部的灰色框中:https://docs.camunda.org/manual/7.8/reference/embedded-forms/java-objects/

我通过将Map拆分为单独的变量来解决我的问题,这些变量可以以如下嵌入形式读取:

<form role="form" name="form" xmlns="http://www.w3.org/1999/html">
<script cam-script type="text/form-script">
camForm.on('form-loaded', function() {
camForm.variableManager.fetchVariable('mVariableFoo');
camForm.variableManager.fetchVariable('mVariableBar');
});
camForm.on('variables-fetched', function() {
$scope.mVariableFoo = camForm.variableManager.variable('mVariableFoo').value;
$scope.mVariableBar = camForm.variableManager.variable('mVariableBar').value;
});
</script>
<h1>{{mVariableFoo}}</h1>
<p>{{mVariableBar}}</p>
<form>

最新更新