2016-01-18 11 views
12

Ich versuche, ein Radio-Button mit vuejs v-für nur wenn meine if-Aussage ist wahr. Gibt es eine Möglichkeit, vuejs v-if/v-else für diese Art von Problem zu verwenden?Vuejs setzen ein Optionsfeld überprüft, ob die Aussage wahr ist

in PHP und HTML Ich kann dies erreichen, indem Sie folgendermaßen vorgehen:

<input type="radio" <? if(portal.id == currentPortalId) ? 'checked="checked"' : ''?>> 

Unten ist das, was ich bisher mit vuejs haben:

<div v-for="portal in portals"> 
<input type="radio" id="{{portal.id}}" name="portalSelect" 
    v-bind:value="{id: portal.id, name: portal.name}" 
    v-model="newPortalSelect" 
    v-on:change="showSellers" 
    v-if="{{portal.id == currentPortalId}}" 
    checked="checked"> 
<label for="{{portal.id}}">{{portal.name}}</label> 
</div> 

Ich weiß, die v-wenn hier Aussage um zu überprüfen, ob die Eingabe ein- oder ausgeblendet werden soll.

Jede Hilfe würde sehr geschätzt werden.

Antwort

33

Sie könnten das checked Attribut wie folgt binden:

<div v-for="portal in portals"> 
    <input type="radio" 
     id="{{portal.id}}" 
     name="portalSelect" 
     v-bind:value="{id: portal.id, name: portal.name}" 
     v-model="newPortalSelect" 
     v-on:change="showSellers" 
     :checked="portal.id == currentPortalId"> 

    <label for="{{portal.id}}">{{portal.name}}</label> 
</div> 

Einfaches Beispiel: https://jsfiddle.net/b4k6tpj9/

+0

vielen Dank! das hat 100% funktioniert – rniocena

+0

Gern geschehen! Außerdem sollten Sie die Antwort als ** beantwortet ** markieren, um anderen zu helfen, die das gleiche Problem haben. :) –

+0

Liebe die Reinheit dieser Lösung. –

Verwandte Themen