6
votes

Ligne de valeur Textfield Ember avec une propriété dynamique

J'essaie d'écrire une vue générique qui gère des champs personnalisés dans mon application, mais je suis difficile à trouver cela pour travailler. Voici le scénario - j'ai un objet Fielddef qui définit les champs personnalisés et un valseObject qui dispose d'une matrice, CustomFields , qui a les valeurs . Ce que j'essaie de faire est quelque chose comme ça: XXX

Évidemment, cela ne fonctionne pas car il traite fielddef.name comme littéral. J'ai essayé de remplacer la classe Textfield, mais je ne peux pas sembler l'obtenir pour se lier.

Toute suggestion sur la façon d'accomplir cela?

merci, Scott


0 commentaires

3 Réponses :


6
votes

Ember ne peut pas se lier à un index de tableau, vous devrez donc travailler autour de lui. Une solution consiste à vous limiter à une liaison à sens unique, où votre Textfield met à jour les valeurs Hash. Si vous envisagez de soumettre le formulaire après que l'utilisateur appuie sur un bouton, cela devrait faire le tour.

Définissez un tableau d'identifiants de champ dans votre contrôleur et un hachage pour que leurs valeurs soient allées. P>

{{#each fieldId in fieldIds}}
  <label>{{fieldId}}</label>
  {{view App.TextField fieldIdBinding="fieldId" valuesBinding="fieldValues"}}
  <br/>
{{/each}}


2 commentaires

Merci - j'ai utilisé une approche très similaire à celle-ci.


Dois-je déclarer app.textfield = ember.textfield.extend ({}) dans le contrôleur si je veux juste un champ de texte normal avec une valeur de valorisation attachée à celle-ci?



1
votes

@ahmacleod Great Homme. Juste au cas où n'importe qui est intéressé, cela fonctionne très bien, sélectionnez également:

{{#each id in fieldIds}}
   {{dynamic-select content=fieldIds fieldIdBinding="header"       
     valuesBinding="fields"}}
{{/each}}


0 commentaires