vue2.0(vant-list)
时间:2021-08-25
本文章向大家介绍vue2.0(vant-list),主要包括vue2.0(vant-list)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
vant-list
1.list加载多次的坑:记住loading的值是true或false,true不加载,false加载,没有数据请求了finished为true
onLoad() {
if (!this.loading) return; 需要在上拉加载事件这里做一下判断处理就可以
this.page++;
this.orderDetail(); 这里是请求接口的方法
},
2.list搜索时会无缘无故多加载一次,需要点搜索事件那里把loading改为true(不让他触发list的加载事件),finished改为fasle(就是防止搜索请求之后页面上拉显示没有更多数据啦,明显不对的)
3.list中的卡片组件化,orderCard组件接收父组件的数据,不放任何请求数据(逻辑尽量也不要),父组件负责逻辑请求数据一系列操作(总结:子收父求)
4.{{ a || "没有数据" }}是后台没有数据时,我们要给一个指定参数显示,防止布局塌陷
5.{{ a | filterTime }}过滤器,方便整洁完美
父组件
<van-list v-model="loading" :finished="finished" finished-text="没有更多数据啦~" @load="onLoad" offset="100" > <div class="order-list"> <span class="order-header" >共 {{ orderObj.orderNum || 0 }} 条明细,共 ¥{{ orderObj.orderSum || 0 }}</span > <orderCard v-for="(item, index) in orderList" :item="item" :key="index" /> </div> </van-list>
orderCard卡片组件化(可直接使用)
<template> <div class="order-card"> <div class="card-left"> <span class="card-black">{{ item.phone || noPhone }}</span> <span class="card-fontsize card-grey"> <span>升数:{{ item.oilMass || noMass }}</span > <span>油号:{{ item.oilCode || noCode }}</span> </span> <span class="card-grey">{{ item.createOrderTime | filterTime }}</span> </div> <!-- 是否返利(0:否,1:是) --> <div class="card-right" v-show="item.isRebate == 0"> {{ item.label }} </div> <div class="card-right-two" v-show="item.isRebate == 1"> <span class="card-right-two-symbol" >¥<span class="card-right-two-amount">{{ item.rebateSum || noMass }}</span></span > <span class="card-right-two-rebate">{{ item.label || noCode }}</span> </div> </div> </template> <script> export default { props: { item: Object }, filters: { filterTime(e) { return e.replace(/-/g, "."); } }, data() { return { noPhone: "", noMass: 0, noCode: "", noDate: "" }; } }; </script> <style lang="less" scoped> .order-card { background: #ffffff; border-radius: 0.6rem; margin-top: 1.5rem; margin-bottom: 1rem; padding: 1.5rem; height: 9.2rem; display: flex; justify-content: space-between; .card-left { display: flex; flex-direction: column; justify-content: space-between; .card-black { font-size: 1.6rem; font-family: PingFangSC-Medium, PingFang SC; font-weight: 500; height: 2rem; line-height: 2rem; color: #333333; } .card-fontsize { font-size: 1.2rem; } .card-grey { height: 1.6rem; font-size: 1.2rem; font-family: PingFangSC-Regular, PingFang SC; font-weight: 400; color: #999999; line-height: 1.6rem; } } .card-right { display: flex; align-items: center; font-size: 1.2rem; font-family: PingFangSC-Regular, PingFang SC; font-weight: 400; color: #999999; } .card-right-two { display: flex; flex-direction: column; justify-content: center; align-items: center; font-size: 1.2rem; font-family: PingFangSC-Regular, PingFang SC; font-weight: 400; color: #999999; .card-right-two-rebate { width: 100%; text-align: right; color: #ff7f00; font-size: 1.1rem; } .card-right-two-symbol { color: #333333; font-size: 1.4rem; font-weight: 500; .card-right-two-amount { font-size: 2.4rem; } } } } </style>
眼睛如果有等级,那么青色一定最高贵,黑色最深邃
原文地址:https://www.cnblogs.com/black-eyes/p/15183873.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法