首页 > 其他分享 >Vue学习笔记21-列表排序

Vue学习笔记21-列表排序

时间:2024-02-28 16:24:04浏览次数:28  
标签:Vue 21 age sex 排序 id name

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>列表排序</title>
  <script type="text/javascript" src="../Js/vue.js"></script>
</head>

<body>
  <div id="root">
    <h2>人员列表信息(遍历数组):</h2>
    <hr>
    <input type="text" placeholder="请输入姓名" v-model="keyWord">
    <button @click="sortType=2">降序</button>
    <button @click="sortType=1">升序</button>
    <button @click="sortType=0">原顺序</button>
    <!-- 遍历数组 -->
    <ul>
      <li v-for="p in filPersonList" :key="p.id">
        {{p.id}}-{{p.name}}-{{p.age}}-{{p.sex}}
      </li>
    </ul>
    <hr>
  </div>
</body>

</html>
<script type="text/javascript">
  Vue.config.productionTip = false
  const vm = new Vue({
    el: '#root',
    data: {
      keyWord: '',
      sortType: 0,//0 原顺序、1--降序、2--升序
      personList: [
        { id: '001', name: '乔峰', age: 28, sex: '男' },
        { id: '002', name: '虚竹', age: 25, sex: '男' },
        { id: '003', name: '段誉', age: 22, sex: '男' },
        { id: '004', name: '童姥', age: 90, sex: '女' },
        { id: '005', name: '李秋水', age: 88, sex: '女' },
      ],
    },
    computed: {
      // 简写,简写时确保不用settter
      // myfullname: function () {
      filPersonList () {
        const arr = this.personList.filter((p) => {
          return p.name.indexOf(this.keyWord) !== -1
        })
        // 排序
        if (this.sortType) {//0false,1,2true
          arr.sort((p1, p2) => {
            return this.sortType === 1 ? p2.age - p1.age : p1.age - p2.age
          })
        }
        return arr
      },


    },



  })
</script>

  

标签:Vue,21,age,sex,排序,id,name
From: https://www.cnblogs.com/YYkun/p/18040877

相关文章

  • Vue学习笔记19--列表过滤(watch属性过滤 + computed属性过滤)
    列表过滤--监听属性过滤<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>列表过滤</title>......
  • 1.21
    我们据本书开始逐步的了解软件开发。首先,软件开发分为几个阶段:玩具阶段→业余爱好阶段→探索阶段→成熟的产业阶段。而在我们学习软件开发时也会经历以下几个阶段,首先是玩具阶段,这个阶段可能也就像我们高考完填报志愿时那样,对计算机有点兴趣,幻想着做出什么有意思的软件。这个时候......
  • Vue3 配合 Element-Plus 和 iframe-resizer 完美实现抽屉 Drawer 和 iframe
    环境准备pnpminstallvuelodashelement-plusiframe-resizerpnpminstall@types/iframe-resizer-Diframe新建文件src/utils/directives/iframeResize.ts​import{Directive,DirectiveBinding,nextTick}from"vue"importiframeResizefrom"iframe-r......
  • Vue学习笔记19--key的原理
    react、vue中key的作用(key的原理?):虚拟DOM中key的作用:key是虚拟DOM对象的标识,当张贴中的数据发生变化时,vue会根据--新数据,生成新的虚拟DOM,随后vue进行新虚拟DOM与旧虚拟DOM的差异比较。比较规则如下:对比规则旧虚拟DOM中找到了与新虚拟DOM相同的key若虚拟DOM中内容没......
  • 2.21 主页面的制作
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>用户登录</title><style>button{display:block;margin-top:10px;padding:10p......
  • cf1621g-solution
    CF1621GSolutionlink考虑对每个位置\(i\)作为\(i_j\)时计算贡献。\(i\)对一次答案有贡献当且仅当:设其子序列内最右端的位置为\(r\),则要满足\(r\)右侧存在一个数大于\(a_{i}\)。即,设\(lst_i\)表示整个序列最右侧的大于\(a_i\)的数,要满足\(lst_i>r\)。现......
  • Vue 2x 系列之(十四)收集表单数据
    收集表单数据如何利用Vue提供的v-model收集一个表单中的数据v-model配合不同的input标签有不同的技巧hobby的初始值能够影响v-model收集回来的数据hobby为字符串,收集到的是checked属性的值hobby为数组,收集到的是自己定义的value属性的值多选框【CheckBox】如果不指定value,默......
  • Vue 2x 系列之(十三)Vue监测数据的原理
    Vue监测数据的原理思路:举例==》监测对象数据原理==》Vue.set()==》监测数组数据原理==》说明前面例子中的现象Vue监测数据改变的原理Vue底层监测data中数据改变的原理和watch中监测数据的原理是一致的,watch是Vue提供给我们用于自行监视数据变化的配置项1.更新......
  • Vue 2x 系列之(十二)列表渲染
    列表渲染1.v-for指令v-for指令: 1.用于展示列表数据 2.语法:v-for="(item,index)inxxx":key="yyy" 3.可遍历:数组(用的最多)、对象、字符串(用的很少)、指定次数(用的很少)<body> <!--准备好一个容器--> <divid="root"> <!--遍历数组--> <h2>人员列表(......
  • Vue 2x 系列之(十一)条件渲染
    条件渲染符合某些条件,就给你渲染某些东西;不符合条件,要渲染的东西就不会显示原生可以通过display:none;、visibility:hidden;、opacity:0;几种方式实现v-if和v-else-if、v-else需要作为一组指令使用,中间不允许被打断,v-else是不需要加表达式的只能配合v-if使用,不能配合v-show......