当前位置: 首页 > news >正文

js-vue中多个按钮状态选中类似于复选框与单选框实现

1.vue中多个按钮状态选中类似于复选框

在Vue中处理多个按钮的选中状态切换,通常我们会利用Vue的响应式数据系统来追踪每个按钮的选中状态。

  html

<div id="app">  <button  v-for="button in buttons"  :key="button.id"  :class="{ active: button.isSelected }"  @click="toggleSelection(button.id)"  >  {{ button.text }}  </button>  
</div>

js

new Vue({  el: '#app',  data: {  buttons: [  { id: 1, text: '按钮1', isSelected: false },  { id: 2, text: '按钮2', isSelected: false },  { id: 3, text: '按钮3', isSelected: false }  ]  },  methods: {  toggleSelection(id) {  // 找到并点击的按钮并切换其选中状态  this.buttons.forEach(button => {  if (button.id === id) {  button.isSelected = !button.isSelected;  }  });  }  }  
});

 css

new Vue({  el: '#app',  data: {  buttons: [  { id: 1, text: '按钮1', isSelected: false },  { id: 2, text: '按钮2', isSelected: false },  { id: 3, text: '按钮3', isSelected: false }  ]  },  methods: {  toggleSelection(id) {  // 找到并点击的按钮并切换其选中状态  this.buttons.forEach(button => {  if (button.id === id) {  button.isSelected = !button.isSelected;  }  });  }  }  
});

        定义一个buttons数组,其中包含了每个按钮的idtext(按钮上显示的文本)和isSelected按钮的选中状态)。

        使用v-for指令来遍历buttons数组,并为每个按钮绑定了一个点击事件处理器toggleSelection,该处理器接收按钮的id作为参数。当按钮被点击时,toggleSelection方法会根据id找到对应的按钮,并切换其isSelected属性的值

        使用:class绑定来根据按钮的isSelected状态动态添加active类,以改变按钮的样式来表示其选中状态。

2.vue中多个按钮状态选中类似于单选框

        实现类似单选框的功能,即在一组按钮中只能同时选中一个,你可以通过维护一个变量来记录当前选中的按钮的id,并在点击按钮时更新这个变量。然后,根据这个变量来设置每个按钮的选中状态。 

<div id="app">  <button  v-for="button in buttons"  :key="button.id"  :class="{ active: selectedButtonId === button.id }"  @click="selectButton(button.id)"  >  {{ button.text }}  </button>  
</div>  <script>  
new Vue({  el: '#app',  data: {  buttons: [  { id: 1, text: '按钮1' },  { id: 2, text: '按钮2' },  { id: 3, text: '按钮3' }  ],  selectedButtonId: null // 用来记录当前选中的按钮的id  },  methods: {  selectButton(id) {  // 更新当前选中的按钮id  this.selectedButtonId = id;  }  }  
});  
</script>  <style>  
.active {  background-color: blue;  color: white;  
}  
</style>

  buttons数组包含了所有按钮的信息,而selectedButtonId变量用于跟踪当前选中的按钮的id。每个按钮都绑定了一个点击事件处理器selectButton,当按钮被点击时,该处理器会更新selectedButtonId的值为被点击按钮的id

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 硅纪元视角 | 语音克隆突破:微软VALL-E 2,Deepfake新纪元!
  • 夏老师小课堂(15)丨空心杯电机基础入门(上海鸣志电器)
  • 【Go系列】Go的UI框架GIO
  • SpringBoot集成Tomcat、DispatcherServlet
  • 【监控软件】Zabbix
  • 【Langchain大语言模型开发教程】基于文档问答
  • 太原高校大学智能制造实验室数字孪生可视化系统平台建设项目验收
  • 基于区块链技术的高校教育资源共享的研究
  • Animate.css的使用
  • 视图,存储过程和触发器
  • 若依 ruoyi poi Excel合并行的导入
  • labview实现两台电脑共享变量传输及同步
  • 立创梁山派--移植开源的SFUD万能的串行 Flash 通用驱动库
  • 明星中药企业系列洞察(十二):百年老字号胡庆余堂如何借势焕新?
  • Go基础编程 - 10- 接口(interface)
  • Docker入门(二) - Dockerfile
  • Linux链接文件
  • magento 货币换算
  • SQLServer之索引简介
  • vue-loader 源码解析系列之 selector
  • 聊聊flink的TableFactory
  • 聊聊sentinel的DegradeSlot
  • 免费小说阅读小程序
  • 如何实现 font-size 的响应式
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • #laravel 通过手动安装依赖PHPExcel#
  • #前后端分离# 头条发布系统
  • (175)FPGA门控时钟技术
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (二十九)STL map容器(映射)与STL pair容器(值对)
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (南京观海微电子)——I3C协议介绍
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (四)js前端开发中设计模式之工厂方法模式
  • (四十一)大数据实战——spark的yarn模式生产环境部署
  • (算法)求1到1亿间的质数或素数
  • (万字长文)Spring的核心知识尽揽其中
  • (五)c52学习之旅-静态数码管
  • (自用)交互协议设计——protobuf序列化
  • *1 计算机基础和操作系统基础及几大协议
  • .NET MVC 验证码
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • .NET大文件上传知识整理
  • .net和jar包windows服务部署
  • .net实现客户区延伸至至非客户区
  • .py文件应该怎样打开?
  • .vimrc 配置项
  • @antv/g6 业务场景:流程图
  • @PreAuthorize注解
  • [17]JAVAEE-HTTP协议
  • [20150321]索引空块的问题.txt
  • [4]CUDA中的向量计算与并行通信模式
  • [Android]通过PhoneLookup读取所有电话号码