vue3+ts中常用的两个按钮选择事件写法

news2024/11/23 16:37:57

1. 效果演示

按钮选择

2.vue3单页面代码演示

<template>
  <div class="btns">
    <div
      v-for="(item, index) in nams"
      @click="btnCol(index)"
      :class="current == index ? 'active' : 'btn'"
    >
      {{ item }}
    </div>
  </div>
  <div class="btns2">
    <div
      :class="item.class"
      v-for="(item, index) in nams2"
      :key="item.name"
      @click="btnCol2(index)"
    >
      {{ item.name }}
    </div>
  </div>
</template>

<script setup>
import { ref } from "vue";
let nams = ref(["按钮1", "按钮2", "按钮3", "按钮4"]);
let nams2 = ref([
  { name: "按钮1", class: "btn3" },
  { name: "按钮2", class: "btn3" },
  { name: "按钮3", class: "btn3" },
  { name: "按钮4", class: "btn3" },
]);
let current = ref(5);
let current2 = ref(true);

let btnCol = function (index) {
  current.value = index;
  console.log("输出:", current);
};
let btnCol2 = function (index) {
  if (nams2.value[index].class == "btn3") {
    nams2.value[index].class = "active";
  } else {
    nams2.value[index].class = "btn3";
  }
};
</script>

<style scoped lang="scss">
.btns {
  position: absolute;
  left: 50%;
  top: 40%;
  transform: translateX(-50%);
  width: 600px;
  height: 80px;
  border: 1px solid red;
  display: flex;
  justify-content: space-around;
  align-items: center;
  .btn {
    height: 40px;
    width: 100px;
    background: gainsboro;
    text-align: center;
    line-height: 40px;
    cursor: pointer;
    color: black;
    user-select: none;
  }
}
.active {
  background: red;
  height: 40px;
  width: 100px;
  text-align: center;
  line-height: 40px;
  cursor: pointer;
  color: black;
  user-select: none;
}
.btns2 {
  position: absolute;
  left: 50%;
  top: 60%;
  transform: translateX(-50%);
  width: 600px;
  height: 80px;
  border: 1px solid red;
  display: flex;
  justify-content: space-around;
  align-items: center;
  .btn3 {
    height: 40px;
    width: 100px;
    background: gainsboro;
    text-align: center;
    line-height: 40px;
    cursor: pointer;
    color: black;
    user-select: none;
  }
}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/744423.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【MySQL】从零开始的JDBC编程

1、JDBC的认识 学了这么久的 MySQL&#xff0c;我们一直采用的都是 MySQL 软件自带的客户端&#xff08;黑框框&#xff09;&#xff0c;来进行跟MySQL服务器进行交互。但是在实际开发中我们很少在黑框框中手动输入SQL&#xff0c;大多数都是通过代码自动执行SQL的。既然大多数…

单片机第一季:零基础4——LED点阵

1&#xff0c;第八章-LED点阵 如何驱动LED点阵&#xff1a; (1)单片机端口直接驱动。要驱动8*8的点阵需要2个IO端口&#xff08;16个IO口&#xff09;、要驱动16*16的点阵需要4个IO端口&#xff08;32个IO口&#xff09;。 (2)使用串转并移位锁存器驱动。要驱动16*16点阵只需要…

7.3Java EE——Bean的实例化

一、构造方法实例化 下面通过一个案例演示Spring容器如何通过构造方法实例化Bean。 &#xff08;1&#xff09;、在IDEA中创建一个名为chapter07的Maven项目&#xff0c;然后在项目的pom.xml文件中配置需使用到的Spring四个基础包和Spring的依赖包。 <dependencies>&…

让白嫖来的阿里云服务器来跑jupyter

文章目录 概要第一步 注册账号并创建实例第二步 连接实例并安装相关软件和依赖包安装python3更新pip安装jupyter生成jupyter配置文件配置之后访问云服务器jupyter的密码修改jupyter配置文件在后台启动jupyter 第三步 访问云服务器上的jupyter结语 概要 按照一般情况&#xff0…

【云原生|Docker系列第2篇】Docker的安装和配置

欢迎来到Docker入门系列的第二篇博客&#xff01;在上一篇博客中&#xff0c;我们已经介绍了Docker的基本概念和作用&#xff0c;以及为什么它成为现代应用开发和部署的关键技术。本篇博客将着重讨论Docker的安装和配置&#xff0c;帮助您开始使用Docker并为您的应用程序提供一…

对于加密数据(数据库字段级别加密)存储和并搜索的一些调查

一、简述 如果您认为不良行为者不可避免地会进入您的网络&#xff0c;那么在将敏感数据放入数据库或文档存储之前对其进行加密是保护数据的最佳方法。对于敏感数据应该这么做。这种在存储之前进行加密的方法称为应用层加密&#xff0c;有相当数量的公司使用它来保护其敏感数据。…

MATLAB 迭代最近点ICP配准 (23)

MATLAB 迭代最近点ICP配准 (23) 一、算法介绍二、具体代码1.流程2.代码3.函数详解4.结果展示一、算法介绍 ICP 迭代最近点配准方法,基本是一种固定的点云精配准方法,其变种很多,这里是点到点的传统点云ICP配准方法,具体的过程如上图所示:需要提供红色和蓝色两组点云,其…

echarts 字符串模板和formatter的使用(鼠标悬浮显示的气泡自定义)

需求&#xff1a;在鼠标悬浮中加一个总数字段&#xff0c;图1为默认&#xff0c;图2为需要实现的效果 有两种方式&#xff0c;第一种&#xff1a;在图表添加一条新的图形&#xff0c;默认会自动添加 需要在整个数据列表中计算出来成为新的数组 methods: {// 根据自己的业务情…

SpringBoot源码分析(4)--Environment(下)/配置文件加载原理

SpringBoot源码分析 SpringBoot源码分析(1)–SpringBootApplication注解使用和原理/SpringBoot的自动配置原理详解SpringBoot源码分析(2)–SpringBoot启动源码(万字图文源码debug讲解springboot启动原理)SpringBoot源码分析(3)–Environment简介/prepareEnvironment准备环境&a…

UNet训练自己的数据集

pycharm中python环境设置&#xff1a; 打开左上角File ---> Settings ---> 如下图 ---> Add 选择合适的python版本&#xff0c;进行环境设置 UNet训练自己的数据集&#xff1a; 一、训练自己的数据集 1、本文使用VOC格式进行训练。 2、训练前将标签文件放在VOCde…

谈 Dojo 应用的 UI 自动化测试

目录 前言&#xff1a; Dojo 是什么&#xff1f; Dojo 应用 UI 自动化测试面临的挑战 A. 异步请求的处理 B. 元素定位 图 1. Dojo 按钮小部件 C. Dojo 复杂性 D. 产品复杂性 E. 频繁的 UI 更改 F. Dojo 升级 Dojo 应用 UI 自动化测试框架挑选&#xff08;设计&#…

IIS WebApi: 文件上传,大小限制,提示413 (Request Entity Too Large)

问题&#xff1a;IIS WebApi文件上传&#xff0c;大小限制&#xff0c;提示413 (Request Entity Too Large) 一&#xff1a;在web.config上配置,按照以下格式&#xff0c;将下列标红加粗的地方&#xff0c;按照对应位置复制到web.config中&#xff0c;即可解决。 注&#xff…

本质安全设备标准(IEC60079-11)的理解(五)绝对可靠器件infallible components

在前面的章节中我们简单提及到绝对可靠器件&#xff0c; 这里重新摘抄如下&#xff1a; “这里顺便说一下可靠元器件&#xff08;infallible component&#xff09;的理解。它在标准里面占有不少的章节&#xff0c;而且开始理解他也有一些费劲。本人从两个方面理解它 &#x…

工艺流程图绘制流程?试试这样绘制

工艺流程图绘制流程&#xff1f;绘制工艺流程图可以帮助我们更好地理解工艺流程&#xff0c;确定生产流程&#xff0c;优化生产效率&#xff0c;并帮助人们更好地进行生产管理和质量控制。通过工艺流程图&#xff0c;我们可以清晰地了解每一步骤所需的设备和材料&#xff0c;以…

【Java】基于云计算-智慧校园电子班牌系统源码带原生微信小程序端

一、前言 智慧校园系统是利用物联网和云计算&#xff0c;强调对教学、科研、校园生活和管理的数据采集、智能处理、为管理者和各个角色按需提供智能化的数据分析、教学、学习的智能化服务环境。它包含“智慧环境、智慧学习、智慧服务、智慧管理”等层面的内容。 智慧校园描绘的…

webpack笔记一

文章目录 什么是webpack安装webpack一、创建配置项二、安装webpack局部安装(推荐)全局安装 三、安装webpack-cli(可选) 核心概念入口(entry)出口(output)loader插件(plugin)模式(mode) 项目实例webpack基本使用 html打包插件&#xff1a;html-webpack-plugin文件拷贝插件&#…

电子版简历有哪些(合集)

word、Excel、PPT简历 传统的电子版简历&#xff0c;即用文档软件编辑的简历。这一类简历的呈现模式只有单一的文字、图片或表格。传统&#xff0c;意味着被广泛求职者所使用。优点包括有&#xff1a;传统、端庄、直观。但传统也意味着没有创新。缺点包括有&#xff1a;乏味、不…

Gradle下载和配置教程:Windows、Mac和Linux系统安装指南

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…

linux入门练级篇 第三讲 基本指令3

&#x1f388;个人主页:&#x1f388; :✨✨✨初阶牛✨✨✨ &#x1f43b;推荐专栏1: &#x1f354;&#x1f35f;&#x1f32f;C语言初阶 &#x1f43b;推荐专栏2: &#x1f354;&#x1f35f;&#x1f32f;C语言进阶 &#x1f511;个人信条: &#x1f335;知行合一 &#x1f…

如何使用ChatGPT制作免费的数字人

传统的数字人制作过程 制作属于自己的免费的数字人是一个复杂的过程&#xff0c;需要涉及多个方面的知识和技术。以下是一个大致的步骤指南&#xff0c;以帮助你开始这个过程&#xff1a; 1. 确定数字人的目标和设计&#xff1a;首先&#xff0c;你需要确定数字人的用途和目标…