AngularJS Smarttable - select 活动
AngularJS Smarttable - event on select
有没有办法在 AngularJS Smart Table 中触发第 select 行的事件?
这是其他线程中的一个主题,但目前仍没有答案。
Unable to select the grid item using SmartTable in Angular JS
我需要此功能以便在至少选择 1 行时显示一个面板。本来想买手表的,后来觉得太贵了。
我最终在 stSelectRow 指令中添加了一个回调。
ng.module('smart-table')
.directive('stSelectRow', function () {
return {
restrict: 'A',
require: '^stTable',
scope: {
row: '=stSelectRow',
callback: '&stSelected' // ADDED THIS
},
link: function (scope, element, attr, ctrl) {
var mode = attr.stSelectMode || 'single';
element.bind('click', function ($event) {
scope.$apply(function () {
ctrl.select(scope.row, mode, $event.shiftKey);
scope.callback(); // AND THIS
});
});
//***///
}
};
});
然后我能够将一个函数从我的控制器传递到指令(注意:您可以将选定的行传回,我不需要)
tr ng-repeat="row in customerResultsTable" st-select-row="row" st-select-mode="multiple" st-selected="rowSelected()">
参考此 post 寻求帮助 Callback function inside directive attr defined in different attr
这是一块很容易放在 Smart Table 上的手表:
// fired when table rows are selected
$scope.$watch('displayedCollection', function(row) {
if(!row) return;
// get selected row
row.filter(function(r) {
if (r.isSelected) {
console.log(r);
}
})
}, true);
相关html:
<table st-table="displayedCollection" st-safe-src="rowCollection" class="select-table table">
This github issue 很有帮助。
有没有办法在 AngularJS Smart Table 中触发第 select 行的事件?
这是其他线程中的一个主题,但目前仍没有答案。
Unable to select the grid item using SmartTable in Angular JS
我需要此功能以便在至少选择 1 行时显示一个面板。本来想买手表的,后来觉得太贵了。
我最终在 stSelectRow 指令中添加了一个回调。
ng.module('smart-table')
.directive('stSelectRow', function () {
return {
restrict: 'A',
require: '^stTable',
scope: {
row: '=stSelectRow',
callback: '&stSelected' // ADDED THIS
},
link: function (scope, element, attr, ctrl) {
var mode = attr.stSelectMode || 'single';
element.bind('click', function ($event) {
scope.$apply(function () {
ctrl.select(scope.row, mode, $event.shiftKey);
scope.callback(); // AND THIS
});
});
//***///
}
};
});
然后我能够将一个函数从我的控制器传递到指令(注意:您可以将选定的行传回,我不需要)
tr ng-repeat="row in customerResultsTable" st-select-row="row" st-select-mode="multiple" st-selected="rowSelected()">
参考此 post 寻求帮助 Callback function inside directive attr defined in different attr
这是一块很容易放在 Smart Table 上的手表:
// fired when table rows are selected
$scope.$watch('displayedCollection', function(row) {
if(!row) return;
// get selected row
row.filter(function(r) {
if (r.isSelected) {
console.log(r);
}
})
}, true);
相关html:
<table st-table="displayedCollection" st-safe-src="rowCollection" class="select-table table">
This github issue 很有帮助。