惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 司徒正美
T
The Blog of Author Tim Ferriss
F
Fortinet All Blogs
Martin Fowler
Martin Fowler
罗磊的独立博客
The GitHub Blog
The GitHub Blog
L
LangChain Blog
A
About on SuperTechFans
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
D
DataBreaches.Net
宝玉的分享
宝玉的分享
U
Unit 42
阮一峰的网络日志
阮一峰的网络日志
Last Week in AI
Last Week in AI
N
Netflix TechBlog - Medium
The Cloudflare Blog
Microsoft Azure Blog
Microsoft Azure Blog
H
Help Net Security
美团技术团队
大猫的无限游戏
大猫的无限游戏
雷峰网
雷峰网
爱范儿
爱范儿
酷 壳 – CoolShell
酷 壳 – CoolShell
MongoDB | Blog
MongoDB | Blog

zodream梦想开源/个人编程日记

文件解析笔记-zodream梦想开源/个人编程日记 密码本开发笔记之读写与保存-zodream梦想开源/个人编程日记 SkiaSharp 把 pixel byte[] 转成 SKBitmap-zodream梦想开源/个人编程日记 nas 使用 Docker 安装 gogs-zodream梦想开源/个人编程日记 复制 android 手机中的文件到电脑-zodream梦想开源/个人编程日记 周报:寻找优质的周刊-zodream梦想开源/个人编程日记 开发日志:对Markdown的代码块新增引用来源支持-zodream梦想开源/个人编程日记 周报:怎么写技术类的教程文章-zodream梦想开源/个人编程日记 css display:flex 布局尺寸超出问题-zodream梦想开源/个人编程日记 周报:SEO优化的思考-zodream梦想开源/个人编程日记 Edge 浏览器不适用 Edge Image Viewer 打开图片 -zodream梦想开源/个人编程日记 SEO 学习笔记(一) 内容来源-zodream梦想开源/个人编程日记 PHP 实现双因素身份认证(2FA)-zodream梦想开源/个人编程日记 WPF MVVM 获取List 多选数据-zodream梦想开源/个人编程日记 Burp Suite 抓包-zodream梦想开源/个人编程日记 使用 indexnow 注意事项-zodream梦想开源/个人编程日记 Godot 使用字体图标 例如: Iconfont、FontAwesome-zodream梦想开源/个人编程日记 angular 15 对指定页面进行访问限制-zodream梦想开源/个人编程日记 CSS 使用 column-count 实现瀑布流出现内容分割的解决办法-zodream梦想开源/个人编程日记 input 确认按键事件在手机端不生效-zodream梦想开源/个人编程日记 C# 使用socket 进行通讯-zodream梦想开源/个人编程日记 Maui开发中Windows应用开启管理员权限-zodream梦想开源/个人编程日记 Maui 中自定义控件-zodream梦想开源/个人编程日记 angular 14 使用 ng-template 实现tree 结构显示-zodream梦想开源/个人编程日记 c# 动态安装和卸载dll-zodream梦想开源/个人编程日记 慎用 CompositionTarget.Rendering-zodream梦想开源/个人编程日记 c# 重写 c++ 程序笔记:数据初始化-zodream梦想开源/个人编程日记 源码编译 aseprite-zodream梦想开源/个人编程日记 记录一下字符串分隔split各语言之间的不同-zodream梦想开源/个人编程日记 c# Gzip解码无头内容-zodream梦想开源/个人编程日记
【Vue Shop】页面部件确定及开发-zodream梦想开源/个人编程日记
zodream · 2019-09-29 · via zodream梦想开源/个人编程日记

页面部件确定及开发

底部导航

主要功能,根据页面自动判断选中一项

设计思路

  1. 定义菜单项结构
    interface IMenu {
     name: string, // 显示的文字
     icon: string, // 显示的图标
     url: string   // 链接
    }

    12345

  2. 定义可接受参数 menus: IMenu[]
  3. 通过 $route.name 判断当前的路由,选中菜单

下拉刷新上拉加载

大致分为六个状态

  1. 下拉过程中 显示下拉刷新
  2. 到达下拉距离限制 显示释放刷新
  3. 向上脱离下拉 显示停止刷新
  4. 直接释放 显示刷新中
  5. 底部 显示加载更多
  6. 触底 显示加载中
  7. 加载完成 显示加载完成 1s 后自动恢复状态

左滑删除

大致思路

  1. 一般的分为左滑和右滑
  2. 滑动的距离不能大于可显示的宽度,例如 左滑删除,当删除按钮完全显示后不再继续向左滑
  3. 左滑到底是可以继续回撤的(即右滑),如果支持左右滑,那个应该已开始滑的方向为准,不能左滑开始,以实际右滑结束
  4. 收起状态,
  5. 滑动距离大于1/3可以动画补全但是完成滑动,小于1/3需动画补全恢复原始状态
  6. 点击事件,需恢复原始无滑动状态
  7. 排异模式,一个开始滑动,应该把其他的恢复到无滑动状态,动画过渡

时间选择

首先确定输入和输出,输入字符串就要输出字符串,输入Date 就要输出Date

既然要输出字符串,那么就要支持格式化,就要有输入格式化定义 format

一个日期,应该是 年月日时分秒, 那个 年月日 是必须的,时分秒可选 通过 format 判断就行了

还需要有一个选择范围 min max

多语言?暂不考虑

还需要一个触发显示框,不需要外部代码手动触发,


<div @click="showCalendar" class="datepicker__input-container">
    <slot></slot>
</div>

12345

这样就好了,使用方法

<DatePicker v-model="user.birthday" format="yyyy-mm-dd">
    <div class="line-item">
        <span>生日</span>
        <span>{{user.birthday}}</span>
        <i class="fa fa-chevron-right"></i>
    </div>
</DatePicker>

12345678

import DatePicker from '@/components/DatePicker.vue';

@Component({
    components: {
        DatePicker,
    },
})

12345678

地区选择(多级滑动选择)

为什么不用多个select 联动?

  1. 为了同意样式,全部仿照 ios 底部弹出滑动选择
  2. 为了方便,多个 select 占地方而且获取不方便,因为地区是不确定几级的,而且我只要最后的选择id

不确定几级,那么就用一个 v-for 就行了

要通过上下滑动进行选择,加上滑动事件 @touchstart='touchStart' @touchmove='touchMove'

转载请保留原文链接: https://zodream.cn/blog/id/64.html