vue移动端项目vant组件库之tag详解

目录
  • vant组件库之tag
  • tag标签选中(类型选择,分类选择)

vant组件库之tag

直接上代码

<template>
  <div class="pd50">
    <!-- Tag标签的属性与Button按钮的大体相同 -->
    <!-- 基础用法 
        其他第三方ui库的颜色可能不一致
    -->
    <h2>基础用法</h2>
    <van-tag type="primary">标签</van-tag>
    <van-tag type="success">标签</van-tag>
    <van-tag type="danger">标签</van-tag>
    <van-tag type="warning">标签</van-tag>
    <!-- 空心样式 
        多数第三方都是采用 plain 作为空心样式
    -->
    <h2>空心样式</h2>
    <van-tag plain type="primary">标签</van-tag>
    <h2>圆角</h2>
    <van-tag round type="primary">标签</van-tag>
    <h2>标记样式 半圆角</h2>
    <van-tag mark type="primary">标签</van-tag>
    <h2>可关闭标签</h2>
    <!-- 需要自己写逻辑控制关闭 -->
    <van-tag v-if="show" closeable type="primary" @close="close">
      标签
    </van-tag>
    <h2>大小</h2>
    <van-tag type="primary">标签</van-tag>
    <van-tag type="primary" size="medium">标签</van-tag>
    <van-tag type="primary" size="large">标签</van-tag>
    <h2>自定义颜色</h2>
    <!-- 
        color 背景颜色
        text-color 文本颜色
     -->
    <van-tag color="#7232dd">标签</van-tag>
    <van-tag color="#ffe1e1" text-color="#e44e44">标签</van-tag>
    <van-tag color="#7232dd" plain>标签</van-tag>
    <h2>渐变色没有起作用,后续博文处理该问题</h2>
    <van-tag color="linear-gradient(to right, #ff6034, #ee0a24)">我是渐变tag</van-tag>
    <!--  -->
    <h2>其他</h2>
    <div>内容是个默认插槽, 也就是说可以进行一些额外的布局</div>
    <van-tag type="success" plain><span style="color:#347ad0">我可以</span></van-tag>
    <van-tag type="success" plain>
        <img src="@/assets/1.jpg" alt="">
    </van-tag>
  </div>
</template>
<script>
import { Tag } from "vant";
export default {
  components: {
    vanTag: Tag,
  },
  data() {
    return {
      show: true,
    };
  },
  methods: {
    close() {
      this.show = false;
    },
  },
};
</script>
<style lang="scss" scoped>
</style>

效果

tag标签选中(类型选择,分类选择)

使用三元表达式为类选择器给值。当变量active被点击赋值时则,引用active样式。无点击使用Classification样式。

往往就是简单的操作,就把自己玩懵逼了!写半天报找不到Classification,还在想诶?Classification不是变量啊。一脸懵逼。最后发现'active':'Classification'。没加''。(日常自己坑自己)

效果图:

<div v-for="(item,index) in data">
	<span :class="active==item.type?'active':'Classification'" @click="oncheck(item.type)">
         {{item.type}}</span>
</div>

js:

data() {
	return {
		data: [{
			    type: '66P'
			}, {
			    type: '760P'
			}, {
			    type: '(含16G系统优盘)660P'
			}, {
			    type: '(含16G系统优化盘)760P'
			}],
			active:''
			}
},

methods: {
    oncheck(name){
		 console.log(name)
		 this.active=name
	}
}

css:

.active{
		float: left;
		margin-left: 10px;
		padding: 10px;
		background: #efc531;
		margin-bottom: 10px;
		border-radius: 4px;
		font-size: 14px;
	}
.Classification {
		float: left;
		margin-left: 10px;
		padding: 10px;
		background: #f7f7f7;
		margin-bottom: 10px;
		border-radius: 4px;
		font-size: 14px;
	}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 解决vant-UI库修改样式无效的问题

    最近用vue写页面时,发现使用vant的有些UI组件,而又不能满足自己的样式,修改CSS样式还是无效.css一般都会使用sass或者less,加了scoped后修改的样式不起作用,即使加了important也没用 vue项目中,当<style>标签有scoped属性时,它的 CSS 样式只作用于当前组件中的元素,父组件的样式将不会渗透到子组件中. 解决办法: 1.对于css语法起作用 使用深度选择器,使用 >>> 操作符,将scoped样式中的选择器"深入"

  • 解决vue加scoped后就无法修改vant的UI组件的样式问题

    有时候UI组件提供的默认的样式不能满足项目的需要,就需要我们对它的样式进行修改,但是发现加了scoped后修改的样式不起作用. 解决方法: 使用深度选择器,将scoped样式中的选择器"深入",即影响子组件 <style scoped> .a >>> .b { /* ... */ } </style> 以上的代码会编译成: .a[data-v-f3f3eg9] .b { /* ... */ } 注意:如果你使用了Less或Sass等预处理器,可

  • vant组件库之tag渐变色不起作用的原因及解决

    目录 tag渐变色不起作用的原因 方案一 在不影响原来功能的前提下修改源码 方案二 利用 /deep/ 修改组件的样式 vue渐变色背景样式 两种颜色渐变 三种颜色渐变 tag渐变色不起作用的原因 查看源码 从源码部分可以看出,如果传入 plain 属性则color 为字体颜色,反之为背景颜色, 用的是 backgroundColor 并不是 backgroundImage 所以背景并不能使用渐变色作为背景色 明白原理之后处理就好很多了 方案一 在不影响原来功能的前提下修改源码 将 var ke

  • vue移动端项目vant组件库之tag详解

    目录 vant组件库之tag tag标签选中(类型选择,分类选择) vant组件库之tag 直接上代码 <template>   <div class="pd50">     <!-- Tag标签的属性与Button按钮的大体相同 -->     <!-- 基础用法          其他第三方ui库的颜色可能不一致     -->     <h2>基础用法</h2>     <van-tag type=&q

  • 移动端滑动切换组件封装 vue-swiper-router实例详解

    具体代码如下所述: <strong>组件部分</strong> <template> <div class="main"> <div class="page-tab"> <div :class="nowPath == item.path ? 'tab-item tab-item_active' : 'tab-item'" v-for='(item, index) in tabLis

  • vue之ele多级联组件的使用方法详解

    本文实例为大家分享了vue之ele多级联组件的使用具体代码,供大家参考,具体内容如下 多级联组件的使用 html <el-cascader         ref="cascader"         :options="options"         @focus="cascaderFocus"         @change="cascaderChange"         v-model="cascad

  • vue3.0 移动端二次封装van-uploader实现上传图片(vant组件库)

    1.前提:业务需求,最多上传6张图片,并可以实现本地预览 2.解决方法:使用vant组件库中的van-uploader实现 3.代码实现 template <div class="upload-oss"> <van-uploader :after-read="onRead" :before-read="beforeRead" :accept="fileType" v-model="fileList&

  • vue移动端项目渲染pdf步骤及问题小结

    第一步:引入pdf包 import pdf from "vue-pdf-signature";,这里不引入vue-pdf的包后面再做解释 import CMapReaderFactory from "vue-pdf-signature/src/CMapReaderFactory.js"; (CMapReaderFactory)解决汉字空白的问题 第二步:页面的component注册pdf组件 components: { pdf }, 第三步:页面放置pdf盒子 &l

  • vue移动端项目缓存问题实践记录

    最近在做一个vue移动端项目,被缓存问题搞得头都大了,积累了一些经验,特此记录总结下,权当是最近项目问题的一个回顾吧! 先描述下问题场景:A页面->B页面->C页面.假设A页面是列表页面,B页面是列表详情页面,C页面是操作改变B页面的一些东西,进行提交类似的操作.A页面进入B页面,应该根据不同的列表item显示不一样的详情,从B进入C,也应该根据item的标识比如ID展示不一样的内容,在C页面操作后,返回B页面,B页面数据发生变化.这个时候会有两种情况: C页面操作数据后返回B页面,B页面对应

  • 微信小程序引入Vant组件库过程解析

    前期准备 Vant Weapp组件库: https://youzan.github.io/vant-weapp/#/intro 1.先在微信开发者工具中打开项目的终端: 然后初始化一个package.json文件:输入命令:npm init 然后一路回车默认的即可: npm init 项目就回产生一个package.json文件: { "name": "miniprogram", "version": "1.0.0", &qu

  • vue移动端弹框组件的实例

    最近做一个移动端项目,弹框写的比较麻烦,查找资料,找到了这个组件,但是说明文档比较少,自己研究了下,把我碰到的错,和详细用法分享给大家!有疑问可以打开组件看一看,这个组件是仿layer-mobile的,很多用法都一样,可以看看哦! 一.npm 安装 // 当前最新版本 1.2.0 npm install vue-layer-mobile // 如新版遇到问题可回退旧版本 npm install vue-layer-mobile@1.0.0 二.调整配置:因为这个组件中有woff,ttf,eto,

  • vue移动端项目中如何实现页面缓存的示例代码

    背景 在移动端中,页面跳转之间的缓存是必备的一个需求. 例如:首页=>列表页=>详情页. 从首页进入列表页,列表页需要刷新,而从详情页返回列表页,列表页则需要保持页面缓存. 对于首页,一般我们都会让其一直保持缓存的状态. 对于详情页,不管从哪个入口进入,都会让其重新刷新. 实现思路 说到页面缓存,在vue中那就不得不提keep-alive组件了,keep-alive提供了路由缓存功能,本文主要基于它和vuex来实现应用里的页面跳转缓存. vuex里维护一个数组cachePages,用以保存当前

随机推荐