vuejs 设置一个单选按钮检查语句是否为真

新手上路,请多包涵

我正在尝试仅在我的 if 语句为真时才使用 vuejs v-for 检查单选按钮。有没有办法使用 vuejs 的 v-if/v-else 来解决这类问题?

在 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-if 语句用于检查是显示还是隐藏输入。

任何帮助将不胜感激。

原文由 rniocena 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 478
2 个回答

您可以像这样绑定 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/

原文由 Pantelis Peslis 发布,翻译遵循 CC BY-SA 3.0 许可协议

也许有人觉得这种方法很有帮助:

在模板中,我为每个单选按钮分配一个值:

 <input type="radio" value="1" v-model.number="someProperty">
<input type="radio" value="2" v-model.number="someProperty">

然后在组件中设置值,即:

 data: function () {
    return {
        someProperty: 2
    }
}

在这种情况下,vue 将选择第二个单选按钮。

原文由 Aleph-null 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题