0

ステンシルのこのリンクAlfresco カスタム コントロールをたどることで、投稿 (Alfresco Activiti) で言及されているのと同じ手順でカスタムの複数選択コントロールを作成しました。たとえば、テキストフィールドがあり、その可視性セクションで、複数選択コントロール値の値が中間であり、添付 画像に示されているようにこのコントロールを非表示にするたびに条件を適用しています。ここに画像の説明を入力. 複数選択カスタム コントロールのコードは

<div ng-controller="multiselectController">
    <select  name="multiselect"  multiple ng-model="field.value" 
            ng-options="option.code as option.name for option in field.options" 
            class="form-control ng-pristine ng-valid ng-scope ng-valid-required ng-touched"
            >
        <option value="">--Select State--</option>
    </select>
</div>

角度コントローラーのコードは

angular
.module('activitiApp')
.controller('multiselectController', 
  ['$rootScope', '$scope', '$http',
   function ($rootScope, $scope, $http) {


        // that responds with JSON
        $scope.field.options = [];
        // in case of array values without rest services        
        if($scope.field.params.customProperties.ElxwfOptionsArrayMultiselect){
            $scope.field.options = JSON.parse($scope.field.params.customProperties.ElxwfOptionsArrayMultiselect);
       } else($scope.field.params.customProperties.ElxwfRestURLforMultiselect) {
            $http.get($scope.field.params.customProperties.ElxwfRestURLforMultiselect).
                success(function(data, status, headers, config) {
                    var tempResponseArray = data.RestResponse.result;

                    for (var i = 0; i < tempResponseArray.length; i++) {
                        var state = { name: tempResponseArray[i].name };
                        $scope.data.states.push(state);    
                    }    
                }).
                error(function(data, status, headers, config) {
                    alert('Error: '+ status);
                    tempResponseArray = [];
                }
            );      
       } 

   }]
);

ここに画像の説明を入力

この点で私を助けてください。

4

1 に答える 1

0

これはおそらく、可視性コードが配列を想定していないためです。等しいか等しくないかではなく、配列が含まれているかどうかをテストする必要があります。

于 2017-07-25T20:02:05.883 に答える