3

UIに非常にランダムな問題があります。列の定義が時折表示されないようです。それは10回のうち9回正常に動作します。columnDefsヘッダーが随時表示されない

2つのGIFアニメーションが含まれているため、実際に何を意味するのかがわかります。これは問題をはるかに速く理解するのに役立ちます。

以下の画面に列の定義が表示され、すべてが表示されます。

Here is working header and we can see it on the last tab

しかし、第二の画像は、ヘッダ列定義は、問題が完全にランダムな問題であり、そのようなものである理由私が見ることができない

Here is the header which does not show column definitions

表示されていないことを示しますハプニング。

私は似たような状況を説明しUIグリッド問題のための公式githubのリポジトリ上のリンクがあります:私はいくつかのことを適用しようとしたが、それは、例えば動作しませんui-grid similar issue は、

<script type="text/ng-template"> 

タグ付きラッピングhtmlページ私が使用したときにNGを-含むが、それはあなたが同様の問題があったか、あなたはそれを修正する方法を知っていれば

がアドバイスしてください助けにはなりませんでした。

コードスニペット:

<div class="modal-body" style="width: 100%; height: 100%;" ng-modal-drag> 
    <div class="checkbox pull-right" style="margin-bottom: -40px; position: relative"> 
    <label class="text-primary"> 
     <input type="checkbox" ng-click="vm.updateHighlight()" ng-model="vm.companyMatch.isHighlighted" style="margin-top: 2px; outline: none;">Reviewed 
    </label> 
    </div> 
    <div class="clearfix"></div> 

    <uib-tabset> 
    <uib-tab ng-repeat="tab in vm.tabs" active="tab.active" heading="{{tab.heading}}" select="tab.select()" ng-if="tab.heading != 'Map' || vm.companyCandidates.length > 0"> 
     <div ng-include="tab.content"></div> 
    </uib-tab> 
    </uib-tabset> 
</div> 

興味深い部分が常に動作し、問題があったときにのみ、3番目のタブ上に存在する 負荷HTMLコンテンツということと、最初のタブにUI-グリッドです別のUIグリッド要素は、関連するJavaScriptコードがどのように見える

です以下の下:

vm.gridOptions = { 
    paginationPageSizes: [5, 10, 25], 
    paginationPageSize: 5, 
    enableColumnResizing: true, 
    enableRowSelection: true, 
    enableRowHeaderSelection: false, 
    multiSelect: false, 

    columnDefs: [{ 
    field: 'businessName', 
    displayName: 'Business name' 
    }, { 
    field: 'fullAddress', 
    displayName: 'Address' 
    }, ...], 

    onRegisterApi: function(gridApi) { 
    vm.gridApi = gridApi; 
    } 
}; 

答えて

1

その問題に妥当な時間を過ごした後、私は最終的にその問題への解決策を見つけました。

Hereは、モーダルウィンドウで開いた後にグリッドを正しくレンダリングするために特別なjavascript関数を使用することを推奨する場合、ui-gridのドキュメントです。

私は以下のコードを追加しました:

$interval(function() { 
    $scope.gridApi.core.handleWindowResize(); 
}, 500, 10); 

とその事は私の作品!

関連する問題