Ag-grid 中 onCellValueChanged 和 Tab 键的问题
Problem with onCellValueChanged and Tab Key in Ag-grid
Ag-grid 版本:3.3
我有一个 table 和一个 editable 单元格
{
field: 'montant',
headerName: 'montant',
cellClass: 'text-right',
filter: 'number',
editable: true,
valueGetter: function(params) {
params.data.montant = parseFloat(params.data.montant);
if (_.isNaN(params.data.montant)) return $filter('formatNumber')(params.data.montant, vm.devise.type);
return params.data.montant;
},
template:
' <span ng-if="mode===\'AMOUNT\'">{{data.montant | formatNumber: devise}} <i class="fa fa-pencil-square"></i></span>\n' +
' <span ng-if="mode===\'PERCENT\'">{{data.montant | percent}} <i class="fa fa-pencil-square"></i></span>'
}
我还在每次更改 editable 单元格时使用 OnCellValueChanged,这允许我计算单元格的总和。
function onCellValueChangedFunc(params) {
if (!_.isUndefined(params)) {
vm.calc(params.data.montant);
}
}
当我点击每个单元格并更改值时,会显示该值并且总金额也会更改。
但是当我使用 Tab 键盘键时我可以更改值但是它 returns 一个空值并且不执行计算。
我必须退出选项卡才能看到单元格的变化
你有解决这个问题的方法吗?
可以使用Ag Grid提供的ICellEditorAngularComp的focusIn()函数来实现
Ag-grid 版本:3.3
我有一个 table 和一个 editable 单元格
{
field: 'montant',
headerName: 'montant',
cellClass: 'text-right',
filter: 'number',
editable: true,
valueGetter: function(params) {
params.data.montant = parseFloat(params.data.montant);
if (_.isNaN(params.data.montant)) return $filter('formatNumber')(params.data.montant, vm.devise.type);
return params.data.montant;
},
template:
' <span ng-if="mode===\'AMOUNT\'">{{data.montant | formatNumber: devise}} <i class="fa fa-pencil-square"></i></span>\n' +
' <span ng-if="mode===\'PERCENT\'">{{data.montant | percent}} <i class="fa fa-pencil-square"></i></span>'
}
我还在每次更改 editable 单元格时使用 OnCellValueChanged,这允许我计算单元格的总和。
function onCellValueChangedFunc(params) {
if (!_.isUndefined(params)) {
vm.calc(params.data.montant);
}
}
当我点击每个单元格并更改值时,会显示该值并且总金额也会更改。
但是当我使用 Tab 键盘键时我可以更改值但是它 returns 一个空值并且不执行计算。
我必须退出选项卡才能看到单元格的变化
你有解决这个问题的方法吗?
可以使用Ag Grid提供的ICellEditorAngularComp的focusIn()函数来实现