页面加载几秒钟后打开引导手风琴时,ui-grid是否为空白?

灰尘果汁盒

因此,我目前正在尝试动态创建可折叠到包含某些数据的ui-grid的手风琴。问题是,如果我在加载页面的几秒钟内没有展开手风琴,则ui-grid将为空白。该表应存在的轮廓,但没有数据显示。我说被显示是因为数据本身在html中。似乎手风琴隐藏了它?当我调整浏览器窗口的大小时,数据会出现。抱歉,如果这还不够详细,或者我错过了明显的调试步骤,那么我对js / angular和html还是陌生的。以下是我的HTML代码

<div ng-controller="TestController as test">
    <script type="text/ng-template" id="group-template.html">
        <div class="panel-heading">
            <h4 class="panel-title" style="color:#fa39c3">
                <a href tabindex="0" class="accordion-toggle" ng-click="toggleOpen()" uib-accordion-transclude="heading">
                    <span uib-accordion-header ng-class="{'text-muted': isDisabled}">
                        TEST
                    </span>
                </a>
            </h4>
        </div>
        <div class="panel-collapse collapse" uib-collapse="!isOpen">
            <div class="panel-body" style="text-align: right" ng-transclude></div>
        </div>
    </script>
    <uib-accordion close-others="oneAtATime">
        <div ng-repeat="model in myData" track by $index>
            <div uib-accordion-group class="panel-default" is-open="isOpen">
                <uib-accordion-heading>
                    Test Model {{$index}} <i class="pull-right glyphicon" ng-class="{'glyphicon-chevron-down': isOpen, 'glyphicon-chevron-right': !isOpen}"></i>
                </uib-accordion-heading>
                <div id="grid[$index]" ui-grid="gridOptions[$index]" ui-grid-edit class="grid" style="clear:both"></div>
                <br />
                <strong>Last Cell Edited:</strong>{{msg[$index]}}<br />
                <button>Commit Changes</button>
            </div>
        </div>
    </uib-accordion>

和我的角度

(function () {
var app = angular
    .module('testApp', ['ui.grid', 'ui.grid.edit', 'ui.bootstrap', 'ngAnimate'])
    .controller('TestController', TestController);

TestController.$inject = ['$scope', 'uiGridConstants'];

function TestController ($scope, uiGridConstants) {
    $scope.oneAtATime = false;
    $scope.myData = myData;
    $scope.msg = [];
    $scope.gridOptions = [];
    $scope.getGridOptions = function (index) {
        $scope.gridOptions[index] ={
            showColumnFooter: true,
            columnDefs: [
                { field: 'ticker', enableCellEdit: false, width: '33%' },
                { field: 'current_w', aggregationType: uiGridConstants.aggregationTypes.sum, enableCellEdit: false, width: '33%' },
                { field: 'new_w', aggregationType: uiGridConstants.aggregationTypes.sum, width: '33%' }
            ],
            data: myData[index],
            onRegisterApi: function (gridApi) {
                $scope.gridApi = gridApi;
                gridApi.edit.on.afterCellEdit($scope, function (rowEntity, colDef, newValue, oldValue) {
                    $scope.msg[index] = 'Edited Ticker:' + rowEntity.ticker + ' Column:' + colDef.name + ' newValue:' + newValue + ' oldValue:' + oldValue;
                    $scope.$apply();
                })
            }
        }
    };
    for (i = 0; i < Object.keys($scope.myData).length; i++) {
        $scope.getGridOptions(i);
        console.log($scope.gridOptions[i]);
    };
    console.log($scope.gridOptions[1]);
};

var myData = [
        [{ ticker: 'TICKER', current_w: 5, new_w: 4, },
        { ticker: 'TICKER 2', current_w: 3, new_w: 2, },
        { ticker: 'TICKER 3', current_w: 7, new_w: 0, }],

        [{ ticker: 'TICKER', current_w: 5, new_w: 4, },
        { ticker: 'TICKER 2', current_w: 3, new_w: 2, },
        { ticker: 'TICKER 3', current_w: 7, new_w: 5, }]
];

})();

乔恩·布莱克

我对此表示怀疑,并说您可能想ng-if="isOpen"在ui-grid中添加一个因此,如下所示应该可以解决您的问题。

 <div id="grid[$index]" ui-grid="gridOptions[$index]" ui-grid-edit class="grid" style="clear:both" ng-if="isOpen"></div>

我在显示网格时也遇到了问题,并确保仅在网格完全准备就绪时才出现网格,以解决此问题。ui-grid文档在http://ui-grid.info/docs/#/tutorial/108_hidden_​​grids上讨论了隐藏网格的概念他们也有一个plnkr,您可以在http://plnkr.co/edit/LtpFnDUTofuxitb4Vh9x?p=preview中关注我希望这有帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在页面加载中为所选类别选择手风琴H3标签

Bootstrap Stay手风琴打开页面重新加载

找出Bootstrap手风琴在Angular 5中是否打开

手风琴中的Angular JS ui-grid无法显示数据

在Ubuntu 14.04上几秒钟后,TTY变成空白

我如何在material-ui中获取手风琴手风琴元素的最后一个子项,角度为8

在页面加载时打开手风琴/在移动视图中将其关闭

在页面加载时按手风琴打开第一个项目

页面加载时手风琴菜单关闭

手风琴 div 在页面加载时弹出

JQuery手风琴在文档加载时处于活动状态,而不是在单击时处于活动状态,尽管活动状态为false

Bootstrap手风琴-设置为特定高度

将手风琴默认设置为折叠

AngularJS / ui-bootstrap手风琴-单击时滚动到活动(打开)手风琴的顶部

手风琴菜单:第一个菜单项在页面加载时打开

如何在页面加载时保持手风琴面板打开,但之后保持其可折叠性?

jQuery UI手风琴无法正常工作。主菜单项显示为子菜单项

设置为可折叠和高度样式填充时,手风琴尺寸不正确

jQuery手风琴,在手风琴完全加载后运行功能

jQuery手风琴菜单在页面加载中打开

如何基于外部链接打开手风琴加载页面

css3在页面加载时淡入,几秒钟后消失

提交django表单几秒钟后,使成功消息消失,并显示空白表单

手风琴打开页面并单击父级时展开

如何使用ReactJS和UIKit在加载时打开所有UIkit手风琴?

页面加载时,默认情况下应折叠jQuery手风琴

如何以编程方式停止单击时打开Angular UI手风琴

来自加载了ajax的div的jquery ui手风琴

Rails:仅在打开时如何才能将它动态地从db加载到引导手风琴中