vue项目中vant组件引入不生效怎么办
Admin 2022-07-13 群英技术资讯 2440 次浏览
1、创建vue项目
2、使用vant组件
npm install vant --S
全局引用时在main.js引入
import Vant from 'vant'; import 'vant/lib/index.css'; Vue.use(Vant);
假如你引入之后发现页面的样式和组件都挂载了,但是console控制台会报错,说xxxx组件没有register,这个时候很有可能是你的vant插件版本有问题,重新下载一个最新的vant就可以了,现在是2.6.0版本
好,接下来继续
在需要使用下拉框的地方使用下拉框组件
<van-dropdown-menu> <van-dropdown-item v-model="value" :options="developList" /> </van-dropdown-menu> data () { return { value: '' developList: [ { value: '1', text: '我是第一个' }, { value: '2', text: '我是第二个' }, ] } }
假如是这样的话那么下拉框就会默认显示第一个字眼“wishing第一个”,然后你在点击下拉框选择第二个时也会改变成“我是第二个”
如果你不想有默认选中,并且一开始就显示请选择这样的提示字眼,那么我们可以去看看vant的api文档,发现有一个title的字眼,这个title就是下拉框的显示文字,一开始很多人以为这个下拉框的title只是用来显示然后点击下拉框的item之后会自动绑定过的,但其实是错误的,以下就是一个很好的例子
<van-dropdown-menu> <van-dropdown-item title="请选择" v-model="value" :disabled="disabled" :options="developList" /> </van-dropdown-menu> data () { return { value: '' developList: [ { value: '1', text: '我是第一个' }, { value: '2', text: '我是第二个' }, ] } }
你会发现请选择的自然从来没变过,无论你选择了第一个还是第二个,那么你就会想title是不是绑定,接下来就有以下操作
<van-dropdown-menu> <van-dropdown-item :title="title" v-model="value" :disabled="disabled" :options="developList" /> </van-dropdown-menu> data () { return { value: '' title:''请选择, developList: [ { value: '1', text: '我是第一个' }, { value: '2', text: '我是第二个' }, ] } }
加下来发现还是没有改动啊,那是不是绑定的值没有发生改变了,好像是的,因为你值定义了这个title,这个title就是下拉框选择的显示,只是你没有title的时候vant把你选择的text文字映射到title上去了,
一旦你自己使用title进行绑定,那么每次修改时就要修改title,查看vant api可以发现有change事件,接下来就可以操作了
<van-dropdown-menu> <van-dropdown-item :title="title" v-model="value" :options="developList" @change="changeDevelop" /> </van-dropdown-menu> data () { return { value: '' title:''请选择, developList: [ { value: '1', text: '我是第一个' }, { value: '2', text: '我是第二个' }, ] } }, methods: { changeDevelop (i) { this.title = this.developList[i-1].text }, }
这就没问题啦!
补充知识:简单粗暴修改vant组件nav-bar的title(标题的字体颜色)
最近我有人问我关于vant组件的nav-bar的标题颜色需要改但是不会,我去网上找了一下,发现都很复杂
然后我发现通过深度选择器可以修改nav-bar的标题的字体颜色
代码:
<template> <view> <demo-block title="基础用法" class="reset"> <van-nav-bar title="标题" left-text="返回" right-text="按钮" left-arrow @clickLeft="onClickLeft" @clickRight="onClickRight" id="reset"/> </demo-block> <demo-block title="高级用法"> <van-nav-bar title="标题" left-text="返回" left-arrow> <van-icon name="search" slot="right" custom-class="icon" /> </van-nav-bar> </demo-block> </view> </template> <script> import Page from '../../common/page'; export default { data() { return { } }, onLoad() {}, methods: { onClickLeft() { console.log("11");//TODO 进不来 uni.showToast({ title: '点击返回', icon: 'none' }); }, onClickRight() { uni.showToast({ title: '点击按钮', icon: 'none' }); } } } </script> <style> .icon { color: #1989fa; } #reset /deep/ .van-ellipsis{ color: red !important; } </style>
效果:
解释: 给组件定义个id,再通过这个深度选择器获取title的标签的类名,修改它的颜色即可.
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
今天给大家分享的是React合成事件的内容,react合成事件指的是react用js模拟了一个Dom事件流,对eact合成事件有了简单的了解之后,接下来我们就来深入了解看看eact合成事件,下文有很详细的介绍几示例,感兴趣的朋友可以参考。
这篇文章主要为大家详细介绍了vue实现顶部菜单栏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文主要介绍了React Router 5.1.0使用useHistory做页面跳转导航的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
这篇文章主要介绍了基于element-ui封装表单金额输入框的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
这篇文章主要为大家介绍了闭包结合递归等于柯里化的原理解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008