css - angular-ui-grid 无法在嵌套的 ui-view 中正确呈现

标签 css angularjs angular-ui angular-ui-grid

我将 AngularJS 与 ui-grid 和 ui-view 结合使用,试图创建一个带有选项卡式容器的页面。每个选项卡(通常是 ui-grid)的内容都显示在 ui-view 中:

<div class="tabbed-container">
    <uib-tabset>
        <uib-tab ng-repeat="t in tabs" select="go(t.route)" active="t.active">
            <uib-tab-heading>
                <i class="glyphicon glyphicon-{{t.icon}}"></i>
                {{t.heading}}
            </uib-tab-heading>
        </uib-tab>
    </uib-tabset>
    <div ui-view></div>
</div>

内容可能是这样的:

<div class="panel">
    <div ui-grid="gridOptions" ui-grid-infinite-scroll ui-grid-selection ui-grid-tree-view ui-grid-resize-columns class="grid"></div>
</div>

问题是 ui-grid 没有垂直填充容器——它被设置为最小高度。所有与“面板”相关的 css 类仅声明“高度:100%”,没有在其他任何地方设置高度。调试这种情况的尝试让我意识到,ui-view 被一个大小计算不正确的网格正确填充。选项卡式容器嵌套在其他 ui View 中。有谁知道什么可能导致这种行为或者我可以尝试解决什么问题?

最佳答案

问题是由于没有将正确的样式传递给 ui-view 的内容引起的。解决方案是使用 flex,在容器上设置“flex:1”并将其传递给 ui-view。

.tabbed-container
{
    flex: 1;
    display: flex;
    flex-flow: column;

    /* Setting min-size is necessary to prevent weird flex behaviour on chrome and firefox */
    min-height: 100px;
    min-width: 100px;

   .tab-content
   {       
       flex:1;

   /* Setting min-size is necessary to prevent weird flex behaviour on chrome and firefox */
       min-height: 100px;
       min-width: 100px;
   }
}

html:

<div class="tabbed-container">
    <uib-tabset>
        <uib-tab ng-repeat="t in tabs" select="go(t.route)" active="t.active">
            <uib-tab-heading>
                <i class="glyphicon glyphicon-{{t.icon}}"></i>
                {{t.heading}}
            </uib-tab-heading>
        </uib-tab>
    </uib-tabset>
<div class="tab-content" ui-view></div>

关于css - angular-ui-grid 无法在嵌套的 ui-view 中正确呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39612572/

相关文章:

javascript - 3张图片居中,左右图片对齐中间图片

javascript - 更改现有 css 规则的好方法是什么

javascript - 图像名称在多个图像选择问题中重复

javascript - 使用 ng-repeat 切换数据

javascript - 将变量从前端传递到后端

javascript - Angular 用户界面 Bootstrap : Make accordion save state

javascript - [angular-ui datepicker 指令] 中的 date() 返回昨天的日期

javascript - 到达部分时从垂直滚动更改为水平滚动

javascript - 在 Angularjs 选择中设置值

javascript - Angular ui 路由器 : how do I reload a state when a path parameter changes but not reload when a query parameter changes?