
vant
vant实战
Southern Wind
前端开发
个人博客:https://nanchen042.github.io/docs/
稀土掘金: https://juejin.cn/user/1588130256005415/posts
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
vue3封装el-tour漫游式引导
这里需要注意一下第四个部分,我这里因为要直接绑定第三方组件Vant的。如果是引导饿了么的组件获取dom类型可以从官网上查看,比如绑定在。如果不用官网的方法也可以直接使用js方法获取,当然你也不需要。引入的第三方库方法我这里就不写了,可以自行去官网查找。// 引导组件显示状态(双向绑定)// 跳过按钮处理函数(暂未启用)的所以需要使用Vant中自带的。// 引导步骤项目接口定义。// 上一步按钮处理函数。// 下一步按钮处理函数。// Props 定义。// 步骤变化处理函数。// 下一步按钮文本。原创 2025-01-15 11:04:41 · 1222 阅读 · 0 评论 -
vant4——自定义Collapse折叠面板右侧的图标改为图片并调整图片旋转
自定义折叠面板图标替换图片原创 2023-05-18 13:33:16 · 1437 阅读 · 0 评论 -
Vue3——使用inject和provide对页面进行刷新
这里的provide和inject可以实现嵌套组件之间进行传递数据。直接看代码即可:首先,需要修改一下app.vue文件,通过reload方法来控制router-view的显示或者隐藏写好之后就可以在子页面中调用即可最后看一下项目实现效果:这时候就有人问了,为什么不适用location.reload()或者router.go(0)来刷新页面呢?这里的缺点也显而易见,这种刷新就类似于ctrl+F5来进行强制刷新,整张页面看起来会出现白屏的现象,用户交互的体验感不好,而这种用provide和inje原创 2022-09-19 16:38:52 · 2303 阅读 · 1 评论 -
Vue3+Vant3通过mock引入本地图片路径
组件中通过new Url('路径/${图片}',import.meta.url).href。在接口中只需要写入图片名称,通过函数的形式拼接字符串,vite中有专门的写法。原创 2022-08-16 16:26:48 · 3779 阅读 · 0 评论 -
Vant3——复选框点击其他后格外出现一个输入框
因为复选框选出来的值为数组形式,这里的listData里面的这个checkboxZL是一个对象的形式,我们这里需要转换一下。原创 2022-08-05 15:01:08 · 1207 阅读 · 0 评论 -
Vant3—— 点击对应的name名称跳转到下一页对应的tab栏的name的位置
这里稍微注意一下动态的name要绑定循环的列表中的name。首先我们这里要给前一个页面配置相应的数据结构。这里是通过Pinia去写✈️。原创 2022-08-01 16:43:18 · 1299 阅读 · 0 评论 -
Vue3+TS+Vant3+Pinia(H5端)配置教程
该模板将帮助您开始使用Vue3、Vite3.0中的TypeScript以及Pinia、Vant3进行开发。该模板使用Vue3,请查看文档了解更多教程。原创 2022-07-27 10:12:35 · 2263 阅读 · 2 评论 -
在手机中运行H5项目
1、首先获取id地址win+R/输入cmd/输入ipconfig2、截取到IP地址,放在Vue项目中3、手机和电脑连接同一个wifi4、启动后复制链接到草料二维码中生成可用二维码,扫描即可(如果二维码打不开,需要把防火墙给关掉)...原创 2022-03-02 15:06:10 · 1282 阅读 · 0 评论 -
vue/vant获取富文本中的图片预览
详解vant中的图片富文本预览效果实现效果原创 2022-01-28 16:51:20 · 3113 阅读 · 1 评论 -
Vue/vant——编辑按钮效果实现
这里不建议使用本地存储的方式存储编辑中的值,可能会导致传参失败可以使用路由传参的方式把参数传递给address.vue页面看下面的代码:Detail.vue页面中的编辑按钮事件下的路由传参item为对象,index为索引。根据索引获取每个值。 edit(item, index) { console.log(item); let obj = { index: index, item: item, };原创 2022-01-28 16:33:21 · 2925 阅读 · 0 评论 -
Vue2,Vue3——Vant,Vant3自定义表单验证效果实现
官网上面有正则函数异步三种验证效果,但是并没有详细说明多个表单验证该如何实现,这里提一下首先要有form标签 <van-form @submit="onSubmit">这个标签包裹提交按钮 onSubmit(values) { console.log("submit", values); },之后在里面写input框 <van-field v-model="form.tel" type="tel"原创 2022-01-27 13:14:53 · 11503 阅读 · 0 评论 -
Vue/vant——渲染详情页添加购物车数据渲染到购物车页面,并进行删除数据效果
在登陆成功后请求购物车页面数据Login.vue setTimeout(() => { this.$axios({ method: "post", url: "/login", data: { username: this.username, password: this.password, },原创 2022-01-19 16:55:19 · 1996 阅读 · 1 评论 -
Vue/vant——未登陆时清空购物车以及拦截未登录的状态拒绝进入购物车页面
cart.js // 清空购物车 clearCart(state){ state.list = [], state.selectAll = [] }原创 2022-01-18 23:20:42 · 1575 阅读 · 0 评论 -
Vue/vant——user.js中需要用到的属性配置
export default { state:{ token:false, status:false, userInfo:{} }, mutations:{ // 登陆成功后渲染数据 login(state,userInfo){ state.userInfo = userInfo state.token = userInfo.token state.status = userInfo.status.原创 2022-01-17 22:46:39 · 602 阅读 · 0 评论 -
Vue/vant——用axios获取header头中的token值以及权限的配置
vant 使用axios请求头部的写法可以参考一下官方文档Axios把vuex中的token值给取出来 this.$axios({ url: "/logout", method: "post", date: {}, headers: { token: this.token, }, }).then(.原创 2022-01-16 20:00:58 · 4740 阅读 · 0 评论 -
vant制作首页的加载中和暂无数据
<!-- 判断每一页是否有数据,没有则返回暂无数据 --> <div v-if="newsItems[index].list.length > 0"> </div>首先先给数据添加一层div判断是否此页能请求到对应数量的数组,能请求则输出 <!-- 页面加载 --> <div class="loading" v-else-if="newsItems[index].forward ==='be...原创 2022-01-11 20:46:35 · 1837 阅读 · 0 评论 -
Vue/vant第左右联动better-scroll效果实现(完整版)
<template> <div> <!-- 头部 --> <van-sticky :offset-top="0"> <div class="header"> <van-icon name="chat-o" class="icon-one" /> <van-search @click="search" placeholder=".原创 2022-01-11 17:30:18 · 2732 阅读 · 0 评论 -
金刚区计算个数效果实现
一个轮播效果中有两组金刚区在计算属性中写入以下代码: pages() { var pagge = []; var index = this.currentIndex; if (this.newsItems[index]) { this.newsItems[index].list.forEach((v) => { console.log(v); if (v.type === "in...原创 2022-01-07 09:00:20 · 746 阅读 · 1 评论 -
vant获取首页以及tab页面数据不重复提交解决方案
vant自带的tab栏这里就不多说了写法如下: <van-tabs v-model="active" swipeable @click="onClick"> <van-tab v-for="(item, index) in list" :key="index" :title="item.name"> </van-tab> </van-tabs>首先要请求首页数据,因为列表项的数据在首页this.$axios原创 2022-01-07 08:14:38 · 1420 阅读 · 0 评论 -
Vue/vant——验证登录页面跳转到个人中心
如果没有勾选协议,那么就提示先勾选协议,当协议被勾选成功后进入加载动画以及隐藏提交文字,然后判断正确的账号和密码来获取请求,如果账号密码错误则不可获取请求,也会判定账号密码错误,只有输入成功后才能成功获取数据进入对应的页面里 methods: { // 回退上个页面 back(){ this.$router.go(-1); }, iconClick() { this.$router.push("/Myfile"); ...原创 2022-01-03 23:24:38 · 2341 阅读 · 0 评论 -
vscode中使用/deep/报错解决方案
通常在使用vscode添加样式/deep/时会有个红色波浪线,虽然没有错误,但是让我们在视觉上比较反感,解决方案有两种方案。第一种就是在网上所说的用外层用div来包裹/deep/效果也可以实现第二种就是可以使用::v-deep也可以实现效果如下:...原创 2022-01-03 22:04:44 · 7297 阅读 · 4 评论 -
vant常见的两种校验方式
校验规则我这里主要用了两种校验方式,一种就是正则表达式,还有一种就是用函数进行校验<van-form validate-first @failed="onFailed"> <van-field v-model="username" name="账号" <!-- 正则必须用pattern 来进行判断--> :rules="[{ pattern, message: '账号必须字母开头,长原创 2022-01-03 20:19:01 · 11003 阅读 · 0 评论 -
Vue/vant——随机色生成
直接通过:style引入即可 methods: { style() { let R = Math.floor(Math.random() * 255); let G = Math.floor(Math.random() * 255); let B = Math.floor(Math.random() * 255); return "rgb(" + R + "," + G + "," + B + ")"; }, },...原创 2022-01-03 19:42:12 · 423 阅读 · 0 评论 -
Vue——css留白样式
微信小程序端divider.vue<template> <view class="divider"></view></template><script></script><style> .divider{ height: 18rpx;background: #F5F5F5; }</style>效果如下:vue端<template> <d原创 2022-01-03 19:35:31 · 374 阅读 · 0 评论 -
让css固定定位占据其位置
通常固定定位是不具备占据位置的,如果想实现上下不滚动让中间滚动,可以在固定定位中再嵌套一层盒子设置一个固定高度即可 <div class="had"> <header class="header"> <h5>个人中心</h5> </header>.had{ height: 45px; width: 100%;}.header { width: 100%; height: 45px原创 2022-01-03 19:03:35 · 6863 阅读 · 3 评论 -
Vue/vant——使用阿里巴巴矢量图引入图标
只需引入一个css文件即可,在main.js中导入在线更改css中的路径名复制并替换下载好的css文件更改路径加一个https:引入外加名称原创 2022-01-03 16:53:55 · 1016 阅读 · 1 评论 -
vant中遍历本地图片路径写法
图片的格式必须要写成这种形式输出即可原创 2022-01-02 16:05:59 · 589 阅读 · 0 评论 -
vant的props弹出层在一个页面做多个弹窗
官网上是这么写的,一个页面做多个弹窗如何实现?我这里有两种写法:第一种:对每个弹窗都做一个点击事件,其函数名不同即可第二种:看下面的代码如果在uniapp中就可以用$refs.xxx.open来对每个进行判断......原创 2021-12-31 09:45:46 · 2231 阅读 · 1 评论 -
Vue/Vant——商品详情页中的弹窗选项卡
这里整理一下思路,首先布局一下图片,其次去写按钮的样式,并把获取到的价格以及名称放在图片又边的位置最后计算购买数量以及限购条件这里主要说一下按钮部分怎么去写,效果大概如下首先需要准备一个数组里面包含俩对象selects代表一个数组里面包含selectdd用来判断颜色,list列表中放两个按钮名称selects: [ { title: "颜色", selected: 0, list: [ ...原创 2021-12-28 16:09:21 · 1400 阅读 · 0 评论 -
使用better-scroll插件进行左右联动布局效果
安装环境npm install better-scroll -S原创 2021-12-21 13:29:09 · 951 阅读 · 2 评论 -
vant/vue ——列表跳转到指定详情页获取数据的方法
在原有的列表项中添加点击事件新建一个路由页面(detail.vue)并配置好路径在 有列表的页面中添加方法,并通过this.$router.push进行传参 navClick(index) { this.$router.push({ path: "/detail", query: { detail: JSON.stringify(this.list[index]), }, }); },.原创 2021-12-16 20:07:29 · 3787 阅读 · 0 评论 -
vant/vue获取商品筛选分类接口以及替换原有的键名
this.$axios .post("goods/search", null, { params: { title: this.title, page: this.page, }, }) .then((v) => { console.log(v); console.log(this.title); });..原创 2021-12-13 19:49:25 · 1008 阅读 · 0 评论 -
vant/vue——tab栏切换上下箭头功能实现
有的tab栏需要点击两次从而达到排序的功能下面是实现双重tab栏切换功能css样式.active { color: red;}.black{ color: black;}标签部分<ul> <li v-for="(item, index) in screen.lis" @click="lisBtn(index)" :class="{ active: screen.currentindex原创 2021-12-13 11:49:26 · 3175 阅读 · 1 评论 -
获取[[PromiseResult]]中的数据
var router= this.$router.push('/choose?keyword='+this.value).then(res=>{ console.log(res.query); }) console.log(router);原创 2021-12-11 09:46:00 · 2983 阅读 · 0 评论 -
vant/vue手机端长按事件以及禁止长按弹出菜单
目录手机端长按事件禁止长按弹出菜单手机端长按事件先给两个事件 @touchstart="start" @touchend="end"因为vue里的touchend没有封装,所以需要我们自己去写方法如下: start() { clearTimeout(this.loop); //再次清空定时器,防止重复注册定时器 this.loop = setTimeout(() => { console.l..原创 2021-12-10 10:04:19 · 4354 阅读 · 0 评论 -
vant/vue 下拉刷新功能实现
首先先把van-list控件放入列表项中 <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="onLoad" > <list-nav :list="list"></list-nav&g.原创 2021-12-09 23:07:59 · 346 阅读 · 0 评论 -
uniapp、vant——匹配空白字符
有空格就是false,写东西就是true原创 2021-12-09 22:15:45 · 766 阅读 · 0 评论 -
vant/vue——在van-tab中写入内容使其中间部分进行滚动
vant滚动区域写法原创 2021-12-09 17:13:00 · 6261 阅读 · 1 评论 -
vant/vue适配375宽度的移动端方法
pubilc/flexible.js(function flexible (window, document) { var docEl = document.documentElement var dpr = window.devicePixelRatio || 1 // adjust body font size function setBodyFontSize () { if (document.body) { document.b原创 2021-12-02 20:25:49 · 668 阅读 · 0 评论 -
vant/vue跨域解决方案
因为后端给的接口不是本地的接口,所以需要跨域来获取接口数据在vue.config.js中对其进行配置 devServer: { host: 'localhost', port: 3030, // 端口 https: false, proxy: { // 配置跨域 '/api': { target: 'http://xx.xx.xx.xxx', // 代理的接口域名以及端口号; ws:原创 2021-12-01 09:52:10 · 2341 阅读 · 0 评论