首页 > 其他分享 >Vue动态更新数据内容,百度下拉框提示

Vue动态更新数据内容,百度下拉框提示

时间:2023-11-28 15:48:41浏览次数:30  
标签:Vue false name vm sports plusdai zhuangtai 下拉框 百度

 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<script src="js/vue.js"></script>
		<link rel="stylesheet" type="text/css" href="https://www.layuicdn.com/layui-v2.8.0/css/layui.css" />
		<title></title>
		<style>
			img {
				width: 20rem;
			}

			#app {
				padding: 0 1rem;
				text-align: center;
				width: 20rem;
				height: 400px;
				border: 1px solid #000;
				margin: 2rem auto;
			}

			.kuang {
				height: 1.52rem;
				width: 16rem;
			}

			button {
				display: inline-block;
				padding: .2rem;
			}

			ul {
				text-align: left;
				margin: 1rem;
			}

			.right {
				float: right;
			}

			.all {
				display: flex;
				justify-content: center;
				justify-content: space-around;

			}

			.orange {
				color: orange;
			}
		</style>
	</head>
	<body>
		<div id="app" @click="alls()">
			<h1>待办事项</h1>
			<input type="text" class="kuang" v-model="plusone" @keydown.enter="plus">
			<button @click="plus">添加</button>
			<ul>
				<li v-for="(item,index) in sports" :key="item.name">


					<input type="checkbox" :value="item.name" v-model="plusdai" class="left">
					<span @click.stop="chang(index)" v-show="!item.zhuangtai">{{item.name}}</span>
					<input type="text" v-model="item.name" v-show="item.zhuangtai
						" @click.stop>
					<span class="right" @click="del(index)">X</span>
				</li>

			</ul>
			<hr>
			<div class="all">
				<span class="orange">
					<input type="checkbox" class="left" :checked="plusdai.length==sports.length && sports.length"
						@click="selall($event)">全选</span>
				<span>共{{sports.length}}项,选中{{plusdai.length}}项</span>
				<span class="orange" @click="delallp">批量删除</span>
			</div>
		</div>

		<script>
			vm = new Vue({
				el: "#app",
				data: {
					plusone: "",
					sports: [{
						name: "吃饭",
						zhuangtai: false
					}, {
						name: "睡觉",
						zhuangtai: false
					}, {
						name: "睡觉s",
						zhuangtai: false
					}],
					plusdai: []

				},
				methods: {
					// 添加内容函数
					plus() {
						if (!this.plusone.length) {
							alert("没内容")
							return;
						}
						this.sports.push({
							name: this.plusone,
							zhuangtai: false
						});
						this.plusone = '';
					},
					// 修改编辑状态
					chang(i) {
						console.log(this.sports[i].zhuangtai = !this.sports[i].zhuangtai)
					},
					 // 鼠标在外部点击事件
					alls() {
						this.sports.forEach(item => {
							item.zhuangtai = false
						})
					},
					// 批量删除选中的数据
					del(i) {
						if (this.plusdai.includes(this.sports[i].name)) {
							this.plusdai.splice(i, 1);
						}
						this.sports.splice(i, 1);
					},
					// 全选或者非全选
					selall(i) {
						const sall = [];
						this.sports.forEach(item => {
							sall.push(item.name)
						})
						this.plusdai = i.target.checked ? sall : [];
						console.log()
					},
					// 删除选中的数据
					delallp() {
						// 删除掉对象中选中的数据
						this.sports = this.sports.filter(obj => {
							for (let key in obj) {
								if (typeof obj[key] === 'string') {
									if (this.plusdai.includes(obj[key])) {
										return false;
									}
								}
							}
							return true;
						});
						this.plusdai = []
						console.log(this.sports);
					}

				},
				computed: {
					all() {

					}

				},
				watch: {

				}
			})
			vm.change = "王二麻";
		</script>
	</body>
</html>

  

 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
		<script src="js/vue.js"></script>
		<title></title>
		<style>
			* {
			padding:0;margin:0 padding:0.5rem
			}
			button{
				background:blue;color:white;padding: 0.5 0.9rem;display:inline-block;
			}
			ul{border:1px solid blue;width:11rem;margin-top:0rem;border-top:none;
			border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem;
			}
		</style>
	</head>
	<body>
		<div id="app">
			<input type="" name="" id="" v-model="inputValue" @blur="ons=false" @focus="ons=result.length"  />
			<button type="button">baidu</button>
		  <ul v-show="ons">
		  	<li v-for="(item,index) in result">{{item.q}}</li>
		
		  </ul>
		</div > 

		<script>
		vm=	new Vue({
			     el:"#app",
				data: {				
					inputValue:'',	
			     result:[],
				 ons:false
				},
				methods: {
					
				},
				computed:{	
					
				},
				watch:{
					inputValue(){
					$.ajax({
						url: "http://www.baidu.com/sugrec", //请求的url地址
						dataType: "JSONP", //返回格式为json
						async: false, //请求是否异步,默认为异步,这也是ajax重要特性
						data: {
					    prod:"pc",
						wd  :vm.inputValue
						}, //参数值
				
					
						success: function(msg) {
							console.log(msg.g)
							vm.result=msg.g||[]
							vm.ons=vm.result.length
							
						},				
					});
					}
				}
		})
		// vm.change="王二麻";
		</script>
	</body>
</html>

  

 

标签:Vue,false,name,vm,sports,plusdai,zhuangtai,下拉框,百度
From: https://www.cnblogs.com/nice2018/p/17862083.html

相关文章

  • VUE前后端分离项目,前端打包,可配置修改环境变量文件,无需再次打包
      懒得打字了,直接截图,转载自:https://blog.csdn.net/CSDN_33901573/article/details/130603111        ......
  • 学习Vue3 第四章 vue指令
    指令v-开头都是vue的指令v-text用来显示文本v-html用来展示富文本v-if用来控制元素的显示隐藏(切换真假DOM)v-else-if表示v-if的“elseif块”。可以链式调用v-elsev-if条件收尾语句v-show用来控制元......
  • vue3 项目中出现的空白页面的总结(巨坑)
    一、背景开局先说一句!!!!好坑!!!!!,我遇到的空白页面的问题,不是路由懒加载的原因,是在点击路由完整的状态下,点击菜单跳转页面,出现的空白页面,不能触发页面中任何钩子函数,但是路由是跳了的,重新刷新页面,页面内容即可出现,而且空白出现率相当高。打开浏览器控制台和项目控制台都不报......
  • Vue3 第三章
    Vite目录public下面的不会被编译可以存放静态资源 assets下面可以存放可编译的静态资源 components下面用来存放我们的组件 App.vue是全局组件 maints全局的ts文件index......
  • ruoyi vue 前后端分离版本 打包分离jar包至lib
    环境:若依前后端分离版本,原打包时将所有的依赖jar包放至ruoyi-admin.jar包中,该包130MB,过大。需求:为了减少打包更新上传的时间,减少至1.1mb1、将不常更新的模块jar包分离至lib文件夹2、将常更新的模块如common、system等打包至jar包中。在ruoyi-admin的pom文件中添加如下: ......
  • [Vue] vue学习笔记(2): 监视属性 & 计算属性
    关于计算属性案例:分别输入姓和名,打印全名基本代码<divid='root'> firstname<inputtype="text"v-model="firstname"><br/><br/> lastname<inputtype="text"v-model="lastname"><br/><br/>......
  • VUE2中使用阿里云播放器AliPlayer
    简述基于Vue的播放器单页应用,利用web播放器sdk进行视频点播,包含播放列表、字幕、多语言、自适应码率,皮肤自定义等功能Web播放器文档前情提示系统:一说部分截图、链接等因过期、更换域名、MD语法等可能不显示,可联系反馈(备注好博文地址),谢谢❤带有#号、删除线、不操作、不......
  • VUE2中使用阿里云播放器AliPlayer
    简述基于Vue的播放器单页应用,利用web播放器sdk进行视频点播,包含播放列表、字幕、多语言、自适应码率,皮肤自定义等功能Web播放器文档前情提示系统:一说部分截图、链接等因过期、更换域名、MD语法等可能不显示,可联系反馈(备注好博文地址),谢谢❤带有#号、删除线、不操作、不......
  • Vue打包发布
    打包发布目标:明确打包的作用说明:vue脚手架只是开发过程中,协助开发的工具,当真正开发完了,脚手架不参与上线打包的作用:将多个文件压缩合并成一个文件语法降级lesssassts语法解析....打包后,可以生成,浏览器能够直接运行的网页命令:npmrunbuild打包完成后,你会在项目根目......
  • 如何在vue中注册和使用全局组件
    1、在main.js入口文件中,使用Vue.component()方法注册组件 2、在需要使用组件的地方进行标签使用即可<MyCount></MyCount>......