likes
comments
collection
share

卡比记账项目——Axios标签请求

作者站长头像
站长
· 阅读数 18

封装后退按钮

点击后退按钮,我们需要回到上一级页面。 由于多个页面都需要做后退的按钮,不妨进行对后退功能进行一个封装。 统一添加点击事件。

卡比记账项目——Axios标签请求

创建标签

隐藏字段

点击新增按钮,跳转到tagcreate界面,但是这里少了一个字段,用户应该可以自主选择收入或者支出。 根据逻辑:在支出栏点击的新增理应归于支出,同理在收入栏点击的新增归于收入。用户没有必要再次选择。但是用户如果不填我们无法知道是收入还是支出。

所以我们需要用到隐藏字段,这个字段不需要显示,而是根据参数来跳转

找到新增按钮所在的Tags.tsx,加上一个RouterLink。做一个字符串的拼接,并且添加一个隐藏字段以区分收入或者支出。

卡比记账项目——Axios标签请求

因为我们加了一个隐藏字段kind,所以要在相应的地方补充这个字段 来到TagForm组件,在formData里面添加kind字段。

卡比记账项目——Axios标签请求

随后就可以发请求了

卡比记账项目——Axios标签请求 对于表单错误进行封装

卡比记账项目——Axios标签请求 完整请求:

卡比记账项目——Axios标签请求 现在就可以新增tag了。

长按编辑

触发长按效果

思路:触发touchStart事件timer开始计时,如果计时到一秒钟还没有松开,就自动弹到编辑页面,若一秒钟内松开了就重置timer。

开始实现:在Tags组件中,每一个Tag加上onTouchstart以及onTouchEnd事件。还有timer计时器。

卡比记账项目——Axios标签请求

一些逻辑:

卡比记账项目——Axios标签请求

考虑一个问题,用户长按后手指往下划就不能触发长按。需要添加一个限定条件:用户没有移开手指且没有移出tag的限定范围内才可以触发长按。

在最大的div中添加一个onTouchmove事件,获取鼠标当前位置所指向的元素,然后进行边界判断。

改写:

卡比记账项目——Axios标签请求

长按跳转

要跳转到对应的id,首先就要支持id,

卡比记账项目——Axios标签请求

接受id和tag 卡比记账项目——Axios标签请求

卡比记账项目——Axios标签请求

可以编辑

TagEdit中,如果id没有就返回错误 卡比记账项目——Axios标签请求

TagForm要接受id,

卡比记账项目——Axios标签请求

挂载之后去看有没有传id,有id的话就加载到formData

卡比记账项目——Axios标签请求 mock一下:

卡比记账项目——Axios标签请求

重写请求:

卡比记账项目——Axios标签请求

删除标签

我们的ui有两个删除按钮,区别就可以同通过查询参数来实现。

卡比记账项目——Axios标签请求 添加事件onDelete

卡比记账项目——Axios标签请求 另外一个按钮只需要添加一个参数,

卡比记账项目——Axios标签请求 添加报错提醒以及确认提示

卡比记账项目——Axios标签请求

完成

转载自:https://juejin.cn/post/7169845585413931038
评论
请登录