Vue中数组循环添加单选框问题

news/2024/7/10 1:54:33 标签: Vue, 单选框

前言

今天在写一个通过v-for来循环数组,并且在每一条数据中添加单选框功能。然后这边的写法与正常添加单选框参数有点不一样,如下。

1、常规情况下添加单选框
<body>
	<div id="example-4">
	====================正常添加单选框====================
		<br>
	    <input type="radio" id="one" value="One" v-model="picked1">
	  	<label for="one">One</label>
		<br> 
	 	<input type="radio" id="two" value="Two" v-model="picked1">
	  	<label for="two">Two</label>
	</div>
</body>
<script type="text/javascript" src="vue.js"></script>
<script type="text/javascript">
	new Vue({
	  el: '#example-4',
	  data: {
	    picked1: '',
	  }
	})
</script>
</html>

结果如下:
可以正常操作

2、通过v-for循环情况下添加单选框

(1)问题误区:不能直接按照正常的情况下 编辑 id value for 三个参数

<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
	<div id="example-4">
		====================通过vue数组循环添加单选框====================
		<br>
	 	<div v-for="item in sum">
	 		<input type="radio" id="item.order" value="item.value" v-model="picked2">
	 		<label for="item.order">{{item.value}}</label>
	 	</div>
	</div>
</body>
<script type="text/javascript" src="vue.js"></script>
<script type="text/javascript">
	new Vue({
	  el: '#example-4',
	  data: {
	    picked2: '',
	    sum: [
	    	{ order: "one",value: "One"},
	    	{ order: "two",value: "Two"}
	    ]
	  }
	})
</script>
</html>

结果如下:当你随便选择一个单选框时,所有的单选框都会被选中。
不能正常操作

(2)解决方案:需要在 id value for 前面都添加一个 冒号,例如: “:id” “:value” ":for"

<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
	<div id="example-4">
		====================通过vue数组循环添加单选框====================
		<br>
	 	<div v-for="item in sum">
	 		<input type="radio" :id="item.order" :value="item.value" v-model="picked2">
	 		<label :for="item.order">{{item.value}}</label>
	 	</div>
	</div>
</body>
<script type="text/javascript" src="vue.js"></script>
<script type="text/javascript">
	new Vue({
	  el: '#example-4',
	  data: {
	    picked2: '',
	    sum: [
	    	{ order: "one",value: "One"},
	    	{ order: "two",value: "Two"}
	    ]
	  }
	})
</script>
</html>

结果如下:功能跟正常情况下一样。

可以正常操作


http://www.niftyadmin.cn/n/1431402.html

相关文章

如何安装node.js、vue3.0脚手架

1、安装node.js https://nodejs.org/en/ 查看版本号 node-v、npm -v 出现版本即安装成功。&#xff08;如未成功&#xff0c;请重启电脑&#xff09; 2、全局安装vue.cli3.0脚手架 卸载&#xff1a; 如果已经全局安装了旧版本的vue.cli&#xff08;1.x 或者 2.x&#xff09;&…

Git 命令的基本使用

1、Github Github&#xff1a; https://github.com/&#xff08;免费&#xff09;Coding&#xff1a; https://coding.net/ &#xff08;免费&#xff09;Gitlab&#xff1a; https://gitlab.com&#xff08;免费30天&#xff09; 2、Git 基本命令 拷贝项目&#xff1a; git …

如何构建一个Vue项目

构建 Vue 项目 1、新建一个空的文件夹&#xff0c;使用编译器打开 2、在该目录下&#xff0c;使用创建命令&#xff1a; vue create <项目名称> 3、目录构建完成 4、进到项目目录下&#xff0c;运行项目 5、项目运行结束&#xff0c;得到项目的查看地址

Vue-cli 中是如何进行父子组件间传值的

&#xff08;1&#xff09;子组件 — data —> 父组件 父组件&#xff08;Regist.vue&#xff09;部分&#xff1a; <template><div class"regist">这里是注册页面&#xff01;<!-- 2、通过绑定属性来传值给子组件 --><RegistInfo :msg&qu…

原生 和 Vue 分别是如何使用”懒加载“?

前言 懒加载&#xff0c;是对前端的一种优化方法。通过它可以有效的降低请求量&#xff0c;让页面加载速度快到飞起&#xff0c;减轻服务器的压力&#xff0c;节省流量&#xff0c;提升用户的体验。 一、原生方法引用懒加载&#xff08;函数节流函数防抖&#xff09;(throttle…

JavaScript 中 this 的几种应用场景

前言 话不多说&#xff0c;直接上代码剖析… 场景1__全局环境中 this指向 全局对象 this.a 10; alert(a); // 10b 20; alert(this.b); // 20场景2__对象 内部函数的 this指向 调用函数的 当前对象 var a 10; var bar {a:20,test: function(){alert(this.a);} } bar.t…

localstroage的存储、读取、删除

前言 存储&#xff1a;localStorage.setItem(‘key’, value)读取&#xff1a;localStorage.getItem(‘key’)删除&#xff1a;localStorage.removeItem(‘key’)全部删除&#xff1a;localStoerage.clear() 一、使用说明 localstroage存储&#xff08;先将要存储的数据转为字…

常见的浏览器内核

前言… 浏览器内核是什么东西。英文叫做&#xff1a;Rendering Engine&#xff0c;中文翻译很多&#xff0c;排版引擎、解释引擎、渲染引擎&#xff0c;现在流行称为浏览器内核. 梳理了一些我们常用的浏览器及内核… 内核浏览器备注私有属性(兼容写法)TridentIEIE、猎豹安全、…