#angularjs #ag-grid #ag-grid-angular
#angularjs #ag-grid #ag-grid-angular
Вопрос:
Как запустить функцию angular js (ng-blur) из шаблона ячейки ag-grid?
Ниже приведено мое определение столбца для ag-grid
var columnDefs = [
{headerName: "Make", field: "make" , template:'<input type="text" class="form-control control-width-90 margin-left-5" ng-blur="alert('wewew')"/>'},
{headerName: "Model", field: "model"},
{headerName: "Price", field: "price"}
];
Данные для ag-grid
var rowData = [
{make: "Toyota", model: "Celica", price: 35000},
{make: "Ford", model: "Mondeo", price: 32000},
{make: "Porsche", model: "Boxter", price: 72000}
];
Параметры сетки
$scope.gridOptions = {
columnDefs: columnDefs,
rowData: rowData
};
Вывод
[PFA для вывода][1]
[1]: https://i.stack.imgur.com/WEttX.png
Основываясь на определении столбца, я могу отобразить шаблон, но не могу вызвать событие при размытии. Может кто-нибудь подсказать мне, как вызвать событие из пользовательского шаблона или получить доступ к области из пользовательского шаблона ag-grid? Заранее спасибо!
Ответ №1:
Вы хотите вызвать событие при изменении значения ячейки? Затем вы можете использовать событие (CellValueChanged) сетки ag.
Комментарии:
1. Событие CellValueChanged запускается с определением столбца ag-grid по умолчанию. В моем случае у меня есть пользовательский шаблон ячейки для определения столбца и инициирует событие при размытии моего входного элемента. Вы можете взглянуть на мое определение столбца, где я упомянул шаблон для поля «make».
2. в этом случае пользовательский CellRenderer вместо шаблона, как показано ниже: CellRenderer: (параметры) => { пусть input = document.createElement(«ВВОД»); input.setAttribute(«тип», «текст»); input.addEventListener(‘blur’, (e) => { this.onblur(); }); возвращает ввод; }