javascript - vuejs中怎么实现按钮组单选
黄舟
黄舟 2017-04-10 17:09:29
[JavaScript讨论组]

vuejs中怎么实现按钮组单选?可以通过指令或者其他说明vuejs自带的api实现么?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(2)
黄舟

官方文档里的例子:

<input type="radio" id="one" value="One" v-model="picked">
<label for="one">One</label>
<br>
<input type="radio" id="two" value="Two" v-model="picked">
<label for="two">Two</label>
<br>
<span>Picked: {{ picked }}</span>

type radio v-model绑定一个Vue的data就可以实现啊

PHP中文网

使用vue的component组件实现radio单选按钮

//////html部分///////

<p id="app">
    <form >
        <!--组件的属性可以使用Vue的绑定的语法,动态绑定数据给组件,绑定的属性是下面props定义的-->
        <radio-tag v-for="item in items" :rid="item.demoId" :txt="item.demoText" :val="item.demoVal" :nme="item.nm"></radio-tag>
    </form>
</p>

//////js部分///////

// 定义组件模板
var temp = '<label v-bind:for="rid">{{ txt }}<input :id="rid" type="radio" v-bind:value="val" :name="nme"></label>';
// 注册一个全局的组件
Vue.component('radio-tag', {
      template: temp,   
      props: ['rid', 'txt', 'val','nme'],   // 设置组件的属性有哪些,要和定义标签的属性一致。
      data () {             // 注意属性名都得是小写,不然会不认的。
        
      } 
    }); 

// 初始化一个Vue实例

var app = new Vue({         
  el: '#app',               
  data: {                   
    items:[
          {demoId:'run',demoText:'跑步',demoVal:'3',nm:'love'},
          {demoId:'ft',demoText:'足球',demoVal:'4',nm:'love'},
          {demoId:'jump',demoText:'跳高',demoVal:'5',nm:'love'}
      ]
  }
});

最后渲染结果为

<p id="app">
    <form>
        <label for="run">跑步<input id="run" type="radio" name="love" value="3"></label>
        <label for="ft">足球<input id="ft" type="radio" name="love" value="4"></label>
        <label for="jump">跳高<input id="jump" type="radio" name="love" value="5"></label>
    </form>
</p>

浏览器中显示

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号