vue中点击添加类名,并且实现升降序

这篇具有很好参考价值的文章主要介绍了vue中点击添加类名,并且实现升降序。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.介绍

要求:掌握indexOf()用法;动态绑定类名的对象写法;iconfont使用;split()用法;三元运算符用法;es6模板字符串;

说明:首先综合元素默认有元素并且是降序。服务器传来的数据格式:1: 综合,2: 价格 asc: 升序,desc: 降序 。下面意思是综合,降序。它放在data中searchParams.order里面做响应式数据。

 

vue中点击添加类名,并且实现升降序,Vue实战,vue.js,前端,javascript

 2.vue

说明:采用但是iconfont图标。类名,如果从data里面存入的数据查出1(!=-1),说明就是综合;为li绑定了点击事件,传入了1代表是点击的是综合元素;span标签是为了点击后,有一个升序或者降序的一个图标。如果isAsc为true,那么展示的就是升序图标,那么如果是isDesc为true,那么展示的就是降序。

<li
  :class="{ active: searchParams.order.indexOf('1') != -1 }"
     @click="changeOrder(1)"
                >
     <a>综合<span
         class="iconfont"
          :class="{ 'icon-up-arrow': isAsc, 'icon-down': isDesc }"
          v-show="searchParams.order.indexOf('1') != -1"
           ></span></a>
  </li>
 <li
      :class="{ active: searchParams.order.indexOf('2') != -1 }"
      @click="changeOrder(2)"
                >
       <a>价格<span
           class="iconfont icon-down"
              :class="{ 'icon-up-arrow': isAsc, 'icon-down': isDesc }"
               v-show="searchParams.order.indexOf('2') != -1"
                ></span></a>
</li>

3.js

说明:书写必要的计算属性。如果从order.indexOf("asc")!=-1,代表着是升序。

      isAsc() {
        return this.searchParams.order.indexOf("asc") !== -1;
      },
      isDesc() {
        return this.searchParams.order.indexOf("desc") !== -1;
      },

 4.js

说明:methods里面,点击事件触发,首先我们存储在order数据(vuex三连环获取)进行拆分,数据的格式是[1:desc]。首先我们将综合和排序进行拆分。声明一个新的order属性,判断用户当前点击的是综合还是价格,首先默认就是综合,并且是降序。因此如果相等,那么就成了asc。如果不相等那么desc。否则,用户点击的就是价格了,点击后让他默认降序,然后将newOrder替换order。发送网络请求。

    changeOrder(flag) {
      // 获取的是当前状态,当你改变以后,就成了2:desc
      let originOrder = this.searchParams.order;
      // console.log(originOrder);
      // 综合还是价格
      let originFlag = originOrder.split(":")[0];
      // 升序还是降序
      let originSort = originOrder.split(":")[1];
      //  准备一个新的order属性
      let newOrder = "";
      // 一定是综合(默认)并且默认也是降序
      if (flag == originFlag) {
        // 格式是浏览器规定的
        newOrder = `${originFlag}:${originSort == "desc" ? "asc" : "desc"}`;
      } else {
        // 点击的价格
        newOrder = `${flag}:${"desc"}`;
        // console.log(newOrder);
      }
      this.searchParams.order = newOrder;
      this.getData();
    },

 5.请求函数

说明:请求封装成函数,直接调用。

    getData() {
      this.$store.dispatch("getSearchList", this.searchParams);
      //  alert("执行了啊")
    },

 文章来源地址https://www.toymoban.com/news/detail-632371.html

到了这里,关于vue中点击添加类名,并且实现升降序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在Vue表格里写入一个缩略图,并且点击缩略图时,弹出窗口会显示对应的大图

    点击缩略图之后:右上角或者点击幕布之外都可以关闭 这段代码拿去可以直接运行,记得图片路径改成自己的!   - `:visible.sync=\\\"dialogVisible\\\"`:这是一个双向绑定属性,用于控制对话框的显示与隐藏 -:visible.sync` 中的 `.sync` 修饰符使得 `dialogVisible` 属性在对话框的可见性更改时

    2024年01月25日
    浏览(36)
  • 《vue3实战》运用push()方法实现电影评价系统的添加功能

    目录 前言 电影评价系统的添加功能是什么? 电影评价系统的添加功能有什么作用? 一、push()方法是什么?它有什么作用? 含义: 作用: 二、功能实现 这段是添加开始时点击按钮使添加框展示的代码部分: 这段是添加过程中结合elment plus组件实现的添加框的代码部分:

    2024年02月10日
    浏览(31)
  • vue elementUI form组件动态添加el-form-item并且动态添加rules必填项校验方法

    ): 核心代码: prop里的值有格式要求,以本demo为例: “表单属性数组key名 + ‘.’ + 索引值 + ‘.’ + 数组里对象的key名” ; rules里填写校验不成功触发条件和提示语;

    2024年02月05日
    浏览(32)
  • vue element ui table行点击添加自定义行背景色

       tablecpt组件,tablecpt/index.vue   引入tablecpt组件    mixin文件

    2024年02月11日
    浏览(33)
  • vue3,elementPlus和自己封装,点击 新增添加表单,删除表单,提交数据

    点击提交的打印效果 components/insertForm.vue 主文件引入 效果一样 *

    2024年02月16日
    浏览(28)
  • 在vue中Antv G2 折线图如何添加点击事件获取折线上点的值

      在项目中有个需求是点击折线图的点,获取当前点的信息,其它图形都可以参考相关的API获取到,但area做的折线图怎么都获取不到点击的信息,只能获取全部的信息,最终解决如下: 用户的鼠标在折线图上移动时,监听tooltip的变化,通过一个变量记录tooltip的当前值。 对

    2024年02月13日
    浏览(26)
  • vue弹出的添加信息组件中 el-radio 单选框无法点击问题

    情景描述: 在弹出的添加信息的组件中的form中有一个单选框,单选框无法进行点击切换 原因如下: 单选框要求有个默认值,因为添加和更新操作复用同一个组件,所以我在初始化时对相关进行了判定,如果为空则赋初始值 结果这样虽然实现了初始值的展示,但是就是如此造成了单选

    2024年04月10日
    浏览(41)
  • Vue:关于声明式导航中的 跳转、高亮、以及两个类名的定制

    实现导航高亮,实现方式其实,css,JavaScript , Vue ,都可以实现。 其实关于路由导航,我么可以使用vue-router提供的一个全局组件 router-link(来取代a标签)去实现。 router-link的两大特点(能跳转、能高亮) ① router-link 可以跳转,通过配置 to 属性指定路径。其实本质上还是 a 标

    2024年02月10日
    浏览(28)
  • 视频讲解vue2基础之style样式class类名绑定

    目录  style样式的动态绑定 class类名动态绑定 一:官方给出的写法 二:自创三元表达式写法  详细的视频讲解:002vue_样式的动态绑定_哔哩哔哩_bilibili 003vue_样式动态绑定(小案例)_哔哩哔哩_bilibili 详细的视频讲解:002vue_样式的动态绑定_哔哩哔哩_bilibili 003vue_样式动态绑定

    2023年04月15日
    浏览(37)
  • 使用VUE实现点击事件

    1,使用ps对图片进行切片  2,切片好的图片保存为web所用格式  保存到桌面后进行使用 1.将准备好的图片拖进web文件中进行使用 2.代码部分 a.样式部分(根据图片进行设计大小格式,排序和整体样式.) b.div部分 c.组件部分

    2024年02月05日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包