【前端】Vue项目:旅游App-(7)city:搜索框search和标签页Tabs

news2024/11/15 10:45:12

文章目录

    • 目标
    • 过程与代码
      • 搜索框
        • 初步
        • 自己实现取消功能
        • 样式修改
      • 标签页
    • 效果
    • 总代码
      • 修改的文件
      • common.css
      • city.vue
      • main.js

目标

在这里插入图片描述

过程与代码

搜索框

初步

在Vant文档中找到搜索框:Search搜索

在这里插入图片描述
按照文档要求引入(如果以插件的形式安装vant就不用这样引入,详情见文档)

我们需要的是有搜索和取消功能的搜索框:

在这里插入图片描述

看懂代码后改写:

<template>
    <div class="city top-page">
        <!-- show-action:显示 “取消”  -->
        <van-search v-model="value" show-action placeholder="请输入搜索关键词" @search="onSearch" @cancel="onCancel" />
    </div>
</template>

<script setup>
import { ref } from 'vue';
import { showToast } from 'vant';

const value = ref('');
const onSearch = (val) => showToast(val);
const onCancel = () => showToast('取消');


</script>

<style lang="less" scoped>

</style>

效果:

在这里插入图片描述

自己实现取消功能

vant帮我们封装好了取消的功能。我们也可以通过route自己实现。

const onCancel = () => {
    // showToast('取消');
    cancelClick()
}

const route=useRoute()
function cancelClick(){
    route.back()
}

样式修改

我们有细微的样式需要修改,比如:

  • 搜索框要圆
  • 搜索符号颜色

关于搜索框变圆:添加shape="round"

在这里插入图片描述
关于搜索符号的颜色:F12一下

在这里插入图片描述

--van-search-left-icon-color

由于一个项目里的颜色一般都会统一,因此,我们可以全局设置--van-search-left-icon-color

在common.css中:

:root {
    /* 主题颜色 */
    --primary-color: #ff9854;
    /* 所有搜索框,有!important才会显示 */
    --van-search-left-icon-color:var(--primary-color) !important;
}

标签页

vant的标签页Tab:

在这里插入图片描述
看懂代码后改写:

在这里插入图片描述

步骤跟搜索框的差不多,详见总代码。

效果

在这里插入图片描述

总代码

修改的文件

在这里插入图片描述

common.css

通过全局修改来修改vant库的样式:

:root {
    /* 主题颜色 */
    --primary-color: #ff9854;
    /* 所有搜索框,有!important才会显示 */
    --van-search-left-icon-color: var(--primary-color) !important;
    /* 所有bottom下划线  */
    --van-tabs-bottom-bar-color: var(--primary-color) !important;
}

body {
    font-size: 14px;
}

/* 隐藏TabBar的类 */
.top-page {
    /* 占满整个屏幕 */
    height: 100vh;
    /* 有position,z-index才生效
     这里如果是absolute则不生效,可能与TabBar组件相关样式有关 */
    position: relative;
    /* TabBar的z-index默认1 */
    z-index: 9;
    /* 背景色挡住TabBar */
    background-color: #fff;
    /* y轴方向溢出:滚动条 */
    overflow-y: auto;
}

city.vue

<template>
    <div class="city top-page">
        <!-- show-action:显示 “取消”  -->
        <van-search shape="round" v-model="value" show-action placeholder="城市/区域/位置" @search="onSearch"
            @cancel="onCancel" />
        <van-tabs v-model:active="TabActive">
            <van-tab title="国内·港澳台">内容 1</van-tab>
            <van-tab title="海外">内容 2</van-tab>
        </van-tabs>
    </div>
</template>

<script setup>
import { ref } from 'vue';
import { showToast } from 'vant';
import { useRoute } from 'vue-router';

const value = ref('');
const TabActive = ref(0);
const onSearch = (val) => showToast(val);
const onCancel = () => {
    showToast('取消');
    // cancelClick()
}

// const route=useRoute()
// function cancelClick(){
//     route.back()
// }
</script>

<style lang="less" scoped>

</style>

main.js

引入新的组件。在原有的基础上添加Tab, Tabs, Search即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/141585.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

c语言 动态内存分配 柔性数组

常见的动态内存错误 对null指针的解引用操作 int main()//错误1 因为没有判断 {int* p (int*)malloc(10000);int i 0;for (i 0; i < 10; i){*(p i) i;}return 0; }对动态开辟空间的越界访问 int main() {int* p malloc(10 * sizeof(int));if (p NULL){return 1;}…

5G NR标准: 第16章 初始接入

第16章 初始接入 在 NR 中&#xff0c;初始接入功能包括&#xff1a; • 设备在进入系统覆盖区域时最初找到小区的功能和过程。 • 处于空闲/非活动状态的设备访问网络的功能和程序&#xff0c;通常是请求建立连接&#xff0c;通常称为随机访问。 在相当大的程度上&#xff0…

ORA-27102:out of memory Linux-x86_64 Error: 12: Cannot allocate memory

一 问题描述 无法启动数据库&#xff0c;报错&#xff1a; 二 排查思路 1.确保sga_target,sga_max_size比可用物理内存小 2.检查kernel.shmmax&#xff0c;kernel.shmall是否设置得太小 一般出现ORA-27102&#xff1a;out of memory&#xff0c;是/etc/sysctl.conf种内核参…

Apache Tomcat 存在 JsonErrorReportValve 注入漏洞(CVE-2022-45143)

漏洞描述 Apache Zeppelin是一款基于 Web 可实现交互式数据分析的notebook产品。 在Apache Zeppelin 0.10.1及以前的版本中“Move folder to Trash”功能存在路径遍历漏洞&#xff0c;由于未对InterpreterSettingManager类remove方法中id参数进行正确校验&#xff0c;攻击者可…

看完这篇文章,我再也不用担心线上出现 CPU 性能问题了(上)

目录CPU 使用率平均负载进程上下文切换总结生产环境上出现 CPU 性能问题是非常典型的一类问题&#xff0c;往往这个时候就比较考验相关人员排查问题的能力我相信不少小伙伴在工作当中多多少少都会碰到 CPU 出现性能瓶颈 不知道小伙伴们有没有跟我一样的感受——当 CPU 出现性能…

小红书排行榜 | 粉丝增量500w+,探寻爆款种草内容密码

随着兔年来临&#xff0c;回首上个月小红书母婴动态&#xff0c;行业热度依旧高涨&#xff0c;越来越多的达人和新品牌都涌入了小红书&#xff0c;母婴品牌要如何巧用小红书数据分析工具抢占用户心智&#xff1f;增量500w&#xff0b;的母婴博主有何亮点之处&#xff1f;和我一…

【甘特图软件部件】上海道宁与​DlhSoft助力您的Windows与移动应用程序开发

DlhSoft支持 使用可自定义的甘特图 时间轴、项目调度、资源负载图表、 看板、PERT图表和网络图 为您的WPF、ASP .NET、JavaScript 或macOS和iOS应用程序 设计更智能的应用程序 DlhSoft提供了 真正强大的甘特图软件部件 Apple平台开发人员可以 轻松地将其集成到 他们自…

equals和 == 的区别

1 问题equals和 都可以对于值类型&#xff0c;然后比较代数值是否相等。那么equals和 的具体区别是什么&#xff1f;2 方法 是运算符&#xff0c;可以使用在基本数据类型变量和引用数据类型变量中&#xff0c;如果比较的是基本数据类型&#xff1a;比较的是两个变量保存额数据…

嵌入式实时操作系统的设计与开发(二)

加载应用程序与创建程序运行环境 将应用程序从Flash加载到RAM的实现代码是一定在启动代码中的。 计算机系统的运行其实是CPU到相应的内存地址去取回指令&#xff0c;然后译码并执行指令&#xff0c;再依次从下一个地址取指、执行&#xff0c;而程序就是指令与数据的集合。 程序…

JAVAWeb开发(基于分片的网络状态查询方法、装置及存储介质)

本文基于分片的网络状态查询方法、装置及存储介质已是申请的专利。本人为第一发明人&#xff0c;这里给出来是提供一种写专利的范本&#xff0c;仅供参考。专利申请号&#xff1a;CN202110346967.5正文部分&#xff1a;技术领域本申请涉及但不限于计算机网络数据传输一致性领域…

opencv--颜色物体追踪 图片的形态学处理函数

目录 一、主要函数介绍 1. cv2.erode() 2. cv2.dilate() 3. cv2.findContours() 4. cv2.circle() 5. cv2.line() 二、代码 这里首先确定是否安装imutils库&#xff0c;这个库能让调整大小或者翻转屏幕等基本任务更加容易实现。这一次主要应用的是对于图片的形态学处理函…

【Android春招】Android基础day1

一、填空题 1&#xff0e;Android是基于__ 的移动端开源操作系统。 Linux 2&#xff0e;Android系统是由__公司推出的。 谷歌 3&#xff0e;Android 11对应的API编号是__。 30 4&#xff0e;App除了在手机上运行&#xff0c;还能在电脑的__上运行。 模拟器&#xff08;AVD&…

测试之概念篇【需求、测试用例、Bug描述、产品的生命周期、开发模型、测试模型】

文章目录1. 什么是需求2. 测试用例是什么3. Bug 是描述4. 产品的生命周期5. 软件测试贯穿于软件的整个生命&#xff0c;如何贯穿&#xff1f;6. 开发模型&#xff08;瀑布模型、螺旋模型、增量模型和迭代模型、敏捷模型&#xff09;7. 测试模型&#xff08;V模型、W模型&#x…

【Java寒假打卡】Java基础-BigDecimal

【Java寒假打卡】Java基础-BigDecimal构造方法四则运算BigDecimal的特殊方法基本数据类型包装类自动装箱与自动拆箱Integer的类型转换将数字字符串进行拆分成整数数组构造方法 package com.hfut.edu.test1;import java.math.BigDecimal;public class test3 {public static void…

Crontab命令详解

crontab命令是Unix和Linux用于设置周期性被执行的指令&#xff0c;是互联网很常用的技术&#xff0c;很多任务都会设置在crontab循环执行。crontab命令可以精确到分&#xff08;精确到秒的一般写脚本&#xff09;&#xff0c;相当于闹钟。 如果不使用crontab&#xff0c;那么任…

GD32F103-TIMER模块

定时器是一个功能强大的外设。 一般功能&#xff1a; 定时中断&#xff0c;计时器&#xff0c;给定一个时间&#xff0c;到达时间后产生一个中断定时器输出比较的功能&#xff0c;用于PWM波形的产生&#xff0c;驱动电机定时器输入捕获&#xff0c;测频率 核心关键参数&#…

基于Java+SpringBoot+vue+element实现新冠疫情物资管理系统详细设计

基于JavaSpringBootvueelement实现新冠疫情物资管理系统详细设计 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 欢迎点赞 收藏 ⭐留言 文末获取源码联系方式 文章目录基于…

文件IO----(open、close、read、write、lseek)

1.文件IO 介绍:&#xff08;系统IO、系统调用&#xff09; POSIX&#xff08;可移植操作系统接口&#xff09;定义的一组函数&#xff0c;不提供缓冲机制&#xff0c;每次读写操作都引起系统调用&#xff0c;核心概念是文件描述符&#xff0c;访问各种文件类型&#xff0c;Lin…

Keychron 键盘指南

文章目录QQ1Q2Q3Q4Q5KK1K2k3 && k3proK3 VS K7k6 && K6prok7K8k10K12K14CVV1V2V3V4V5V6SQ Q1 Q1 是一款革命性的全金属键盘&#xff0c;每个开关、键帽、稳定器、旋钮甚至面板都具有可定制的功能。它专为个性化体验和卓越的打字舒适度而设计。 双垫片设计…

Cadence PCB仿真使用Allegro PCB SI配置仿真库的方法图文教程

⏪《上一篇》   🏡《总目录》   ⏩《下一篇》 目录 1,概述2,配置方法3,总结1,概述 本文简单介绍使用Allegro PCB SI软件选择需要仿真的网络的方法。 2,配置方法 第1步:打开待仿真的PCB文件,并确认软件为Allegro PCB SI 如果,打开软件不是Allegro PCB SI则可这样…