2017-10-18 4 views
1

Nos outils: AngularJS 1.5.11 w/Angular Material v?La mise à jour du modèle d'entrée depuis Ng-Paste est écrasée par l'action Coller

L'idée

Nous essayons de permettre à un utilisateur de coller une ligne ou une colonne de données (dans notre cas d'utilisation, entiers) qu'ils ont copiés à partir d'une feuille de calcul Excel ou Google dans une seule colonne des entrées dans notre tableau de données. Si elles sont collées dans une entrée, nous voulons remplir cette entrée et les entrées en dessous avec les valeurs correspondantes des données collées. Cela ressemblerait essentiellement à copier une colonne/ligne à partir d'une feuille de calcul Excel et à la coller dans l'une de nos colonnes de table de données, car vous vous attendriez à ce que les données copiées soient collées dans n'importe quelle autre feuille de calcul.

Le problème

Lorsque les pâtes utilisateur, nous avons été en mesure de chercher et d'analyser les données collées au moyen d'un objet événement JQLite $, et ont mis ces valeurs de données dans un tableau lié au contrôleur de notre modèle. Ensuite, nous parcourons les lignes dont les entrées doivent être modifiées, et assignons les nouvelles valeurs à la propriété 'ng-model' correcte pour l'entrée de cette ligne. Le problème est qu'il semble que la fonction ng-paste s'exécute avant que les données collées ne soient liées au modèle d'entrée initial, donc quand nous changeons ce premier modèle dans notre boucle, il est écrasé (ou quelque chose). Fondamentalement, l'entrée initiale contient les données collées au lieu de la valeur que nous avons écrite pour le modèle.

Plunk

ici: https://embed.plnkr.co/Vt2jDiF7pVmrbYpuoz0E/ à tester: Tout ensemble de valeurs délimitées par des espaces, des virgules, de nouvelles lignes, retours chariot ou onglets doit travailler avec notre code. Copiez cette ligne: 5.3245,6234.3443,95.2453,10.2594 et collez-la dans l'une des entrées pour voir comment elle se casse.

Répondre