Ember.js: Impossible d'utiliser le composant d'entrée avec l'assistant de composant

Créé le 17 mars 2016  ·  3Commentaires  ·  Source: emberjs/ember.js

Essayer d'utiliser le composant input avec l'assistant de composant, comme ceci :
passedComponent=(component 'input' type="number" value=myValue)

entraînera un échec d'assertion comme celui-ci :
Uncaught Error: Assertion Failed: You cannot use 'input' as a component name. Component names must contain a hyphen

Commentaire le plus utile

l'implication est donc que le composant input doit être renommé - ce qui n'est évidemment pas pratique - ou bien qu'un wrapper standard avec trait d'union devrait être disponible

ne pas pouvoir utiliser un composant standard (intégré) avec l'assistant de composant semble être une restriction plutôt étrange et arbitraire

Tous les 3 commentaires

@stevesims c'est correct. La création d'un composant de fermeture avec input n'est actuellement pas possible. La justification est un peu liée à Glimmer Components, nous souhaitons leur réserver le nom input .

Je vais fermer ceci pour l'instant car ce n'est pas un bug, mais nous pouvons rouvrir et continuer la discussion.

l'implication est donc que le composant input doit être renommé - ce qui n'est évidemment pas pratique - ou bien qu'un wrapper standard avec trait d'union devrait être disponible

ne pas pouvoir utiliser un composant standard (intégré) avec l'assistant de composant semble être une restriction plutôt étrange et arbitraire

{{#if requiresComponentSubstitution}}  

      <!-- requiresComponentSubstitution: is not "input" -->

        {{component inputComponentName
                    id=(concat elementId '-control')
                    class='form-control'
                    type=type
                    name=valuePath
                    placeholder=placeholder
                    value=value
                    input=(action 'onInput')
        }}
    {{else}}
        {{input id=(concat elementId '-control')
                class='form-control'
                type=type
                name=valuePath
                placeholder=placeholder
                value=value
                input=(action 'onInput')
        }}
    {{/if}}

Je propose à la fois cette solution de contournement utile et suggère subtilement que c'est un inconvénient d'utiliser Ember. Ce serait fantastique si cela " fonctionnait simplement " :)

Cette page vous a été utile?
0 / 5 - 0 notes