2016-01-18 13 views
12

Я пытаюсь установить переключатель с помощью vuejs v-for, только если мой оператор if равен true. Есть ли способ использовать vue-v/if-else vuejs для этого типа проблемы?vuejs установлен переключатель включен, если инструкция истинна

в PHP и HTML я могу добиться этого, выполнив следующие действия:

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

Ниже то, что я до сих пор с помощью vuejs:

<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> 

Я знаю, что v-если заявление здесь для проверки того, показывать или скрывать ввод.

Любая помощь будет очень оценена.

ответ

33

Вы можете связать атрибут checked так:

<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> 

Простой пример: https://jsfiddle.net/b4k6tpj9/

+0

спасибо так много! это сработало 100% – rniocena

+0

Добро пожаловать! Кроме того, вы должны отметить ответ как ** ответ **, чтобы помочь другим, у кого есть такая же проблема. :) –

+0

Любите чистоту этого решения. –

Смежные вопросы