gpt4 book ai didi

angularjs - Angular UI Grid 单击行

转载 作者:行者123 更新时间:2023-12-03 15:07:27 26 4
gpt4 key购买 nike

我在 Angular UI Grid 中有一个项目列表.当我单击一行时,我想被带到不同的页面。 (换句话说,网格中的每一行都是一个链接。)

我想这一定是一个非常普遍的愿望,尽管我还没有真正看到任何关于如何做到这一点的文档。有什么好方法可以实现这一点?

最佳答案

我自己想出了答案。这是我的 Controller (ES6):

'use strict';

class TrackingRecordsCtrl {
constructor($scope) {
// The content of this template is included
// separately
$scope.gridOptions = {
rowTemplate: 'app/components/tracking-record/grid-row.html',
};

// This function is referenced from the row's template.
// I'm just console.logging the row but you can of
// course do anything you want with it.
$scope.gridRowClick = row => {
console.log(row);
// or maybe $location.path(row.url)?
};

$scope.gridOptions.data = {
// This of course can't just be an empty object.
// Chances are you already have something defined
// for gridOptions.data.
};
}
}

TrackingRecordsCtrl.$inject = ['$scope'];

export default TrackingRecordsCtrl;

这是我的行模板(Jade):
.ui-grid-cell(
ng-repeat='(colRenderIndex, col) in colContainer.renderedColumns track by col.colDef.name'
ng-class="{ 'ui-grid-row-header-cell': col.isRowHeader }"
ui-grid-cell=''
ng-click='grid.appScope.gridRowClick(row)'
)

作为奖励,这是我的样式表 (SCSS)。我认为突出显示光标下的行并使用 pointer 是有意义的。光标以更清楚地表明行是可点击的。
.ui-grid-row {
cursor: pointer;

&:hover .ui-grid-cell {
background-color: #CCC;
}
}

关于angularjs - Angular UI Grid 单击行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30224022/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com