2017-08-09 1 views
0
{ 
    headerName: "Total", 
    field: "total", 
    cellRenderer: (params) => { 
     var box = document.createElement("input"); 
     box.type = "text"; 
     box.value = "inverse"; 
     return box; 
    } 
} 

code ci-dessus va rendre une boîte d'entrée, mais le problème est quand j'appuie sur les touches fléchées dans le champ d'entrée, le curseur ne se déplace pas dans la boîte d'entrée, (je pour utiliser ma souris, cliquez pour aller en 2ème position dans la zone de saisie). Cependant, l'espace et le backspace fonctionnent bien. Est-ce un problème avec ag-grid? Toute aide est grandement appréciéezone de saisie de texte rendu ne répond pas aux touches fléchées

Répondre

1

Par défaut, la grille traitera les touches fléchées et entrera (ainsi que d'échapper) les touches qui arrêtent d'éditer une cellule donnée lors de l'utilisation d'éditeurs personnalisés.

Vous pouvez remplacer ce en écoutant les événements clés et d'agir sur eux:

MoodEditor.prototype.onKeyDown = function (event) { var key = event.which || event.keyCode; if (key == 37 || // left key == 39) { // right this.toggleMood(); event.stopPropagation(); } };

Voir https://www.ag-grid.com/javascript-grid-cell-editor/exampleEditorComponent.html pour un exemple de travail de cette (la colonne d'humeur)

+0

Je parlais CellRenderer et votre solution est sur celleditor? pouvez-vous s'il vous plaît vérifier le même – user3205479

+0

Si vous allez fournir des commentaires, alors un éditeur est plus approprié - vous pourriez essayer de faire la même chose avec un moteur de rendu, mais cela impliquerait plus de travail. Voulez-vous simplement afficher la valeur de la cellule ou l'éditer avec l'entrée? –

+0

Je dois effectuer des opérations d'édition, mais y a-t-il une solution pour le faire pour cellrenderer? s'il vous plaît faites le moi savoir – user3205479