当前位置: 首页 > 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

相关文章:

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

1.vue中多个按钮状态选中类似于复选框 在Vue中处理多个按钮的选中状态切换&#xff0c;通常我们会利用Vue的响应式数据系统来追踪每个按钮的选中状态。 html <div id"app"> <button v-for"button in buttons" :key"button.id" :c…...

ObservableCollection新增数据前判断数据是否存在

public class MyDataModel {public int Id { get; set; }public string Name { get; set; }}public static void Main(){// 创建 ObservableCollectionObservableCollection<MyDataModel> myDataCollection new ObservableCollection<MyDataModel>{new MyDataMode…...

DBus快速入门

DBus快速入门 参考链接&#xff1a; 中文博客&#xff1a; https://www.e-learn.cn/topic/1808992 https://blog.csdn.net/u011942101/article/details/123383195 https://blog.csdn.net/weixin_44498318/article/details/115803936 https://www.e-learn.cn/topic/1808992 htt…...

SQL Server 设置端口号:详细步骤与注意事项

目录 一、了解SQL Server端口号的基础知识 1.1 默认端口号 1.2 静态端口与动态端口 二、使用SQL Server配置管理器设置端口号 2.1 打开SQL Server配置管理器 2.2 定位到SQL Server网络配置 2.3 修改TCP/IP属性 2.4 重启SQL Server服务 三、注意事项 3.1 防火墙设置 3…...

Python面试题:结合Python技术,如何使用NetworkX进行复杂网络分析

NetworkX 是一个强大的 Python 库&#xff0c;用于创建、操作和研究复杂网络的结构、动力学和功能。它提供了丰富的功能来处理图和网络数据&#xff0c;适合用于复杂网络分析。以下是使用 NetworkX 进行复杂网络分析的基本步骤&#xff1a; 安装 NetworkX&#xff1a; pip inst…...

【C#/C++】C#调C++的接口,给C++传结构体数组

C#调C的接口&#xff0c;给C传结构体数组 1、背景2、实现 1、背景 C#软件创建了一个结构体数组用来存储图像的区域信息&#xff0c;分别是矩形框的左上像素的xy坐标和矩形框右下像素的xy坐标。需要传入给调用的C函数的参数列表中&#xff0c;我们选择使用C#传入一个结构体数组…...

ctfshow SSTI注入 web369--web372

web369 这把request过滤了&#xff0c;只能自己拼字符了 ""[[__clas,s__]|join] 或者 ""[(__clas,s__)|join] 相当于 ""["__class__"]举个例子&#xff0c;chr(97) 返回的是字符 a&#xff0c;因为 97 是小写字母 a 的 Unicode 编码…...

Llama + Dify,在你的电脑搭建一套AI工作流

theme: smartblue 点赞 关注 收藏 学会了 本文简介 最近字节在推Coze&#xff0c;你可以在这个平台制作知识库、制作工作流&#xff0c;生成一个具有特定领域知识的智能体。 那么&#xff0c;有没有可能在本地也部署一套这个东西呢&#xff1f;这样敏感数据就不会泄露了&…...

洛谷 P9854 [CCC 2008 J1] Body Mass Index

这题让我们计算出 BMI 值&#xff0c;随后判断属于哪个等级。 BMI 值计算公式&#xff1a; ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​。 BMI 范围 对应信息 …...

Redis面试三道题目

针对Redis的面试题&#xff0c;我将从简单到困难给出三道题目&#xff0c;并附上参考答案的概要。 1. 简单题&#xff1a;请简述Redis是什么&#xff0c;以及它的主要优点。 参考答案&#xff1a; Redis简介&#xff1a;Redis是一个开源的、使用ANSI C语言编写、支持网络、可…...

redis的使用场景-分布式锁

使用redis的setnx命令放入数据并用此数据当锁完成业务&#xff08;但是如果用户操作途中出现异常导致超出指定时间会出现问题&#xff09; Service public class StockService {Autowiredprivate StockDao stockDao; //mapper注入Autowiredprivate StringRedisTemplate redisT…...

知识库系统全解析:2024年最佳9款

本文将分享9款优质团队知识库管理工具&#xff1a;PingCode、Worktile、石墨文档、语雀、Wolai 我来、有道云笔记、飞书文档、Confluence、Notion。 在追求高效团队运作的今天&#xff0c;掌握和整合知识成为了企业不可或缺的需求。但面对市场上琳琅满目的知识库管理工具&#…...

猫头虎分享:Numpy知识点一文带你详细学习np.random.randn()

&#x1f42f; 猫头虎分享&#xff1a;Numpy知识点一文带你详细学习np.random.randn() 摘要 Numpy 是数据科学和机器学习领域中不可或缺的工具。在本篇文章中&#xff0c;我们将深入探讨 np.random.randn()&#xff0c;一个用于生成标准正态分布的强大函数。通过详细的代码示…...

QT 关于QTableWidget的常规使用

目录 一、初始化 二、封装功能用法 三、结语 一、初始化 1、设置表头 直接在ui设计界面修改或者使用QT封装的函数修改&#xff0c;代码如下&#xff1a; QStringList recList {"第一列", "第二列", "第三列"}; ui->tableWidget->setH…...

PyCharm 常用 的插件

Material Theme UI Lite&#xff1a;‌提供多种不同的页面风格&#xff0c;‌为PyCharm界面增添个性化元素。‌Chinese (Simplified) Language Pack&#xff1a;‌为中文用户提供简体中文的界面、‌菜单、‌提示信息&#xff0c;‌提升使用体验。‌Tabnine&#xff1a;‌基于人…...

理解 HTTP 请求中 Query 和 Body 的异同

本文将深入探讨HTTP请求中的两个关键要素&#xff1a;查询参数&#xff08;Query&#xff09;和请求体&#xff08;Body&#xff09;。我们将阐明它们之间的差异&#xff0c;并讨论在何种情况下使用每一种。 HTTP 请求概述 HTTP 请求是客户端&#xff08;如浏览器&#xff09…...

【AI大模型】 企业级向量数据库的选择与实战

前言 ChatGPT4相比于ChatGPT3.5,有着诸多不可比拟的优势&#xff0c;比如图片生成、图片内容解析、GPTS开发、更智能的语言理解能力等&#xff0c;但是在国内使用GPT4存在网络及充值障碍等问题&#xff0c;如果您对ChatGPT4.0感兴趣&#xff0c;可以私信博主为您解决账号和环境…...

LangChain开发框架并学会对大型预训练模型进行微调(fine-tuning)

要掌握LangChain开发框架并学会对大型预训练模型进行微调&#xff08;fine-tuning&#xff09;&#xff0c;你需要理解整个过程从数据准备到最终部署的各个环节。下面是这一流程的一个概览&#xff0c;并提供了一些关键步骤和技术点&#xff1a; 1. LangChain开发框架简介 La…...

VMware安装(有的时候启动就蓝屏建议换VM版本)

当你开始使用虚拟化技术来管理和运行多个操作系统时&#xff0c;VMware 是一个强大且广泛使用的选择。本篇博客将指导你如何安装 VMware Workstation Pro&#xff0c;这是一个功能强大的虚拟机软件&#xff0c;适用于个人和专业用户。 一、下载 VMware Workstation Pro 访问官网…...

AV1技术学习:Quantization

量化是对变换系数进行&#xff0c;并将量化索引熵编码。AV1的量化参数 QP 的取值范围是0 ~ 255。 一、Quantization Step Size 在给定的 QP 下&#xff0c;DC 系数的量化步长小于 AC 系数的量化步长。DC 系数和 AC 系数从 QP 到量化步长的映射如下图所示。当 QP 为 0 时&…...

NotebookLM播客工作流优化实战:3个被92%用户忽略的关键提示词配置,提升生成质量400%

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;NotebookLM播客生成的核心原理与局限性 NotebookLM 是 Google 推出的基于用户自有文档进行 AI 助理交互的实验性工具&#xff0c;其播客生成功能并非独立模块&#xff0c;而是依托于底层的“多文档理解 指令驱…...

互联网大厂 Java 面试:搞笑程序员与严肃面试官的较量

面试荒唐记&#xff1a;从 Java SE 到微服务的奇妙之旅在某个互联网大厂的面试现场&#xff0c;严肃的面试官和搞笑的程序员燕双非展开了一场针锋相对的较量。从Java SE到微服务&#xff0c;燕双非用他机智的回答打破了沉闷的气氛&#xff0c;然而在复杂问题面前又显得有些捉襟…...

什么是“中国词元”?——解析中国AI自主生态的核心公式与关键平台

在当前的AI发展阶段&#xff0c;构建自主可控的产业生态已成为关键议题。本文将解析“中国词元”&#xff08;Chinese Tokens&#xff09;这一核心概念&#xff0c;并介绍其关键支撑平台——模力方舟Moark。文章面向AI开发者、企业技术决策者及生态关注者&#xff0c;旨在阐明如…...

飞书机器人+OpenClaw(小龙虾)本地AI:从创建应用到配置AppID/Secret全流程

OpenClaw 连接飞书完整图文教程 本文结合当前飞书开放平台页面、本目录里的截图素材&#xff0c;以及 OpenClaw Windows 现有飞书配置方式整理。 适用于“先在飞书开放平台创建企业自建应用&#xff0c;再把 App ID 和 App Secret 填回 OpenClaw”的接入流程。 先说结论&…...

C语言状态模式实战:从设计思想到嵌入式状态机实现

1. 项目概述&#xff1a;从“状态”到“模式”的思维跃迁在嵌入式开发、游戏逻辑、网络协议解析乃至日常的业务流程控制中&#xff0c;我们常常会面对一个核心挑战&#xff1a;如何优雅地管理一个对象随着内部条件改变而表现出的不同行为&#xff1f;比如&#xff0c;一个自动售…...

从零构建知识图谱:基于NLP的实体关系抽取与Neo4j存储实践

1. 项目概述&#xff1a;从文本到知识的桥梁最近几年&#xff0c;知识图谱这个概念在自然语言处理&#xff08;NLP&#xff09;和人工智能领域火得不行。简单来说&#xff0c;它就是把散落在海量文本里的“知识点”——比如实体&#xff08;人物、地点、概念&#xff09;和它们…...

基于Emissaries框架构建多AI智能体协作系统:从原理到实践

1. 项目概述&#xff1a;一个基于AI的智能体协作框架最近在开源社区里&#xff0c;一个名为muinyc/emissaries的项目引起了我的注意。乍一看这个名字&#xff0c;你可能会联想到“使者”或“特使”&#xff0c;这其实非常贴切地揭示了它的核心定位。简单来说&#xff0c;Emissa…...

广告投放ROI断崖式下滑?立即排查ElevenLabs这4个语音合成致命偏差,2小时内修复

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;广告投放ROI断崖式下滑的语音归因真相 当广告主发现iOS 17设备上语音搜索转化路径中归因丢失率高达68%&#xff0c;却仍在依赖传统点击归因&#xff08;Click-Through Attribution&#xff09;模型时&a…...

实战指南:如何为nvm-windows项目配置专业级持续集成流水线

实战指南&#xff1a;如何为nvm-windows项目配置专业级持续集成流水线 【免费下载链接】nvm-windows A node.js version management utility for Windows. Ironically written in Go. 项目地址: https://gitcode.com/gh_mirrors/nv/nvm-windows nvm-windows作为Windows平…...

RK3588 PCIe拆分技术:从原理到实战的嵌入式扩展方案

1. 项目概述&#xff1a;为什么RK3588的PCIE拆分如此重要&#xff1f;如果你正在基于瑞芯微RK3588这颗旗舰级SoC开发产品&#xff0c;无论是边缘计算盒子、NAS、工业网关还是高性能平板&#xff0c;那么PCIE总线的灵活运用绝对是你绕不开的课题。RK3588提供了多达4个PCIE 3.0控…...