位置: IT常识 - 正文

【微信小程序】使用uni-app——开发首页搜索框导航栏(可同时兼容APP、H5、小程序)(微信小程序在哪里找?)

编辑:rootadmin
【微信小程序】使用uni-app——开发首页搜索框导航栏(可同时兼容APP、H5、小程序)

目录

前言

App、H5效果

小程序效果

一、兼容APP、H5的方式

二、兼容小程序

三、实现同时兼容


前言

推荐整理分享【微信小程序】使用uni-app——开发首页搜索框导航栏(可同时兼容APP、H5、小程序)(微信小程序在哪里找?),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:微信小程序游戏手游排行榜,微信小程序开发平台,微信小程序怎么制作自己的小程序,微信小程序怎么制作自己的小程序,微信小程序开发一个多少钱,微信小程序开发一个多少钱,微信小程序店铺怎么开,微信小程序怎么制作自己的小程序,内容如对您有帮助,希望把文章链接给更多的朋友!

首页都会提供一个搜索框给到客户,让客户自己去搜索自己想要的内容,这里就需要导航栏,来实现搜索页面的跳转,效果如下

App、H5效果

小程序效果

一、兼容APP、H5的方式

在常见titleNView配置代码示例中可以看到基本样式的代码如下

{"pages": [{"path": "pages/index/index", //首页"style": {"app-plus": {"titleNView": false //禁用原生导航栏}}}, {"path": "pages/log/log", //日志页面"style": {"app-plus": {"bounce": "none", //关闭窗口回弹效果"titleNView": {"buttons": [ //原生标题栏按钮配置,{"text": "分享" //原生标题栏增加分享按钮,点击事件可通过页面的 onNavigationBarButtonTap 函数进行监听}],"backButton": { //自定义 backButton"background": "#00FF00"}}}}}, {"path": "pages/detail/detail", //详情页面"style": {"navigationBarTitleText": "详情","app-plus": {"titleNView": {"type": "transparent"//透明渐变导航栏 App-nvue 2.4.4+ 支持}}}}, {"path": "pages/search/search", //搜索页面"style": {"app-plus": {"titleNView": {"type": "transparent",//透明渐变导航栏 App-nvue 2.4.4+ 支持"searchInput": {"backgroundColor": "#fff","borderRadius": "6px", //输入框圆角"placeholder": "请输入搜索内容","disabled": true //disable时点击输入框不置焦,可以跳到新页面搜索}}}}}...]}

我们并不需要所有的内容,本次我将介绍的是,"buttons","searchInput"的组合使用,这里的buttons其实是我的导航栏左右的两个图片,可以配合图标实现想要的功能,searchInput就是中间的搜索框

需要在pages.json中配置,可在button中添加,不过需要注意的是,不管添加文字,矢量图片,默认都是右浮动,可以把其中一个改成左浮动,这里我使用的是阿里巴巴矢量图库的图片,下载文件,引入即可有需要的小伙伴我可以免费提供一个文件夹。

 配置代码如下

"path": "pages/index/index","style": {"navigationBarTitleText": "小余努力搬砖","app-plus": {"titleNView": {"searchInput": {"backgroundColor": "#f4f4f4","borderRadius": "6px", "placeholder": "请输入搜索内容","disabled": true },"buttons": [{"fontSrc": "/static/font/iconfont.ttf",//矢量图片引入路径"float": "left","text": "\ue67a",//引入图片一定要带u"fontSize": "24px",//大小"color": "#666666"},{"float": "right","text":"\ue661","fontSrc": "/static/font/iconfont.ttf","fontSize": "24px","color": "#666666"}]}}}

为了达到跳转的效果,我要在页面同级创建文件夹,为搜索页面,我们要主页使用页面生命周期onNavigationBarSearchInputClicked(此次文件夹需要在pages.json中注册)

【微信小程序】使用uni-app——开发首页搜索框导航栏(可同时兼容APP、H5、小程序)(微信小程序在哪里找?)

 来跳转到我们先要的页面

onNavigationBarSearchInputClicked(){uni.navigateTo({url:'../search/search'})}二、兼容小程序

需要与pages同级创建一个components文件夹,在此文件夹下,不需要在用import引入,就可以注册,创建一个如下的插槽子文件夹,带同名目录。在components中的文件都不需要在pages.json注册。(这里实现的主要方式,是通过自己写的样式,来展现出一个搜索框)

<template><view class='slot'><slot name='left'></slot><slot name='center'></slot><slot name='right'></slot></view></template><script>export default {name:"search-slot",data() {return {};}}</script><style scoped>.slot{width: 750rpx;display: flex;}</style>

在首页中引入插槽(不会或者忘记的,可以去学习博主的一学就会的插槽教学),其中的图片都是引入的阿里巴巴矢量图片,图片是我提前准备好的,有想要的小伙伴,私聊我。如下就是我提前准备好的,只要用class就能引入

<search-slot class='flex'><view class="left" slot='left'><text class="iconfont icon-xiaoxi"></text></view><view class="center" slot='center'><text class="iconfont icon-sousuo" @click="search"></text></view><view class="right" slot='right'><text class="iconfont icon-richscan_icon"></text></view></search-slot>

这里也同样需要点击搜索导航跳转到搜索页面(此次文件夹需要在pages.json中注册),是通过@click绑定事件完成的,路径还是同样的方法(创建一个专属的搜索页面)

methods: {search(){uni.navigateTo({url:'../search/search'})}}

css样式代码

<style>.flex {display: flex;height: 88rpx;line-height: 88rpx;align-items: center;}.left {width: 44rpx;flex: 0 0 44px;align-items: center;text-align: center;}.center {flex: 1;height: 60rpx;line-height: 60rpx;background-color: #eee;text-align: center;color: #ccc;}.right {width: 44rpx;flex: 0 0 44px;align-items: center;text-align: center;}</style>三、实现同时兼容

通过以上代码,已经实现了在app、h5、小程序,实现搜索框导航栏,但是如果想要同时满足app、h5、小程序,就需要对此作出一个区域性的判断。

如果没有按兼容性显示,同时配置如上的两个搜索框导航栏,在app、h5就会出现两个搜索框,因为它们兼容小程序的配置

但是小程序只有一个,因为小程序不兼容在 pages.json中配置的搜索框

这时候不用紧张,我们还记得媒体查询吗,这里的方式,和媒体查询几乎是一个意思,在特定的环境使用特定的样式,我们这里通过官网文档可以找到条件编译

使用很简单,只要将代码包裹进条件中即可,我们这里只要将小程序的包裹进,只在微信小程序中编译的条件中即可

#ifdef  MP需条件编译的代码#endif 

代码如下

把配置在首页的小程序的导航栏包裹住(小程序不兼容在 pages.json中的配置,这里就不用在意是否需要条件编译)这样,小程序的搜索框导航不会在app、h5出现了。从而实现了同时兼容的效果。

<!--#ifdef MP --><search-slot class='flex'><view class="left" slot='left'><text class="iconfont icon-xiaoxi"></text></view><view class="center" slot='center'><text class="iconfont icon-sousuo" @click="search"></text></view><view class="right" slot='right'><text class="iconfont icon-richscan_icon"></text></view></search-slot><!--#endif-->
本文链接地址:https://www.jiuchutong.com/zhishi/297563.html 转载请保留说明!

上一篇:【TypeScript】TS 看这一篇就够了(typescripte)

下一篇:解决雪花算法生成的ID传输前端后精度丢失(雪花算法workid)

  • oppor17黑屏怎么强制重启(oppor17黑屏怎么回事)

    oppor17黑屏怎么强制重启(oppor17黑屏怎么回事)

  • 京东货到付款要加钱吗(京东货到付款要手续费吗)

    京东货到付款要加钱吗(京东货到付款要手续费吗)

  • 为什么注册不了12306账号(为什么注册不了instagram的账号)

    为什么注册不了12306账号(为什么注册不了instagram的账号)

  • 云计算是对()技术的扩展和运用(云计算是对()技术的发展与运用)

    云计算是对()技术的扩展和运用(云计算是对()技术的发展与运用)

  • 美图秀秀如何把三张照片拼成一张(美图秀秀如何把多余的地方去除)

    美图秀秀如何把三张照片拼成一张(美图秀秀如何把多余的地方去除)

  • oppo视频录制在哪(opop录视频在哪里)

    oppo视频录制在哪(opop录视频在哪里)

  • 苹果手机怎么抖音充值(苹果手机怎么抖音录屏)

    苹果手机怎么抖音充值(苹果手机怎么抖音录屏)

  • 有密码为什么连不上wifi(有密码为什么连不上wifi一直显示ip配置失败)

    有密码为什么连不上wifi(有密码为什么连不上wifi一直显示ip配置失败)

  • 为什么家里wifi每隔一段时间就没网了(为什么家里wifi突然搜不到)

    为什么家里wifi每隔一段时间就没网了(为什么家里wifi突然搜不到)

  • 钉钉直播有回声怎么办(钉钉直播有回声重复说话)

    钉钉直播有回声怎么办(钉钉直播有回声重复说话)

  • 苹果平板怎么清理内存(苹果平板怎么清理打开的程序)

    苹果平板怎么清理内存(苹果平板怎么清理打开的程序)

  • soul注销期间好友发信息(soul注销后瞬间会一条条没有吗)

    soul注销期间好友发信息(soul注销后瞬间会一条条没有吗)

  • 抖音间隔多久发第二个视频(抖音间隔多久发作品合适?)

    抖音间隔多久发第二个视频(抖音间隔多久发作品合适?)

  • 手机充电充一晚上对手机会有危害吗(手机充电充一晚上对电池有没有影响)

    手机充电充一晚上对手机会有危害吗(手机充电充一晚上对电池有没有影响)

  • 对方2g在线什么情况(对方2g在线有几种可能)

    对方2g在线什么情况(对方2g在线有几种可能)

  • 华为畅享9e支持快充功能吗(华为畅享9e支持鸿蒙系统吗)

    华为畅享9e支持快充功能吗(华为畅享9e支持鸿蒙系统吗)

  • 小米路由器4a经常掉线怎么办(小米路由器4A经常假死)

    小米路由器4a经常掉线怎么办(小米路由器4A经常假死)

  • 天猫退货积分优惠券会退吗(天猫退货积分优惠怎么算)

    天猫退货积分优惠券会退吗(天猫退货积分优惠怎么算)

  • 小米8能用5a快充数据线吗(小米8能用5v4a的充电吗)

    小米8能用5a快充数据线吗(小米8能用5v4a的充电吗)

  • 安卓手机有屏幕录制功能吗(安卓手机有屏幕使用时间吗)

    安卓手机有屏幕录制功能吗(安卓手机有屏幕使用时间吗)

  • 天猫精灵x1必须插电吗(天猫精灵x1必须插网线吗)

    天猫精灵x1必须插电吗(天猫精灵x1必须插网线吗)

  • 微信有店员通功能吗(微信店员通功能介绍)

    微信有店员通功能吗(微信店员通功能介绍)

  • oppofindx支持多少瓦快充(OPPOfindx支持多少帧)

    oppofindx支持多少瓦快充(OPPOfindx支持多少帧)

  • 苹果xsmax参数配置(苹果xs参数配置)

    苹果xsmax参数配置(苹果xs参数配置)

  • 苹果手机输入法符号在哪找(苹果手机输入法怎么设置)

    苹果手机输入法符号在哪找(苹果手机输入法怎么设置)

  • 台式电脑组装过程详细图解(台式电脑组装过程视频)

    台式电脑组装过程详细图解(台式电脑组装过程视频)

  • 解决vscode在使用默认的autopep8格式化工具格式化Python代码时改变import语句位置导致自定义模块不能导入的问题(vscode终端显示)

    解决vscode在使用默认的autopep8格式化工具格式化Python代码时改变import语句位置导致自定义模块不能导入的问题(vscode终端显示)

  • 微擎框架破解版v2.1.2去授权一键安装纯净商业版(微擎纯净框架,无任何限制)-电脑学习网(微擎框架下载)

    微擎框架破解版v2.1.2去授权一键安装纯净商业版(微擎纯净框架,无任何限制)-电脑学习网(微擎框架下载)

  • 应纳税额与应纳税所得额的比率
  • 个税手续费发给个人怎么做账
  • 金蝶余额调节表怎么看当月的
  • 营业费用和管理费用比较
  • 增值税发票税号0和O
  • 房租收入纳税义务
  • 职工食堂开支会计处理
  • 品质问题扣供应商款
  • 上年的应收帐款在本年度如何录入?
  • 研发支出费用化支出每个月都要结转吗
  • 企业所得税的减按征收如何计算
  • 企业销售额达到多少交企业所得税
  • 简易征收的增值税可以在税前列支吗
  • 股票股利为什么不影响所有者权益
  • 购入低值易耗品计入什么科目
  • 个体户生产经营所得怎么报税
  • 广告公司收到专票怎么做成本
  • 企业所得税的工资薪金包括社保
  • linux命令-a
  • linux中rm命令详解
  • 发票冲红怎么开具
  • 安全方便快捷
  • php or
  • 转让无形资产使用权和所有权的区别
  • 编制合并财务报表时,下列各项中不属于子公司
  • 年营业收入平均增长
  • 伦索伊斯马拉赫塞斯国家公园
  • EMQX(MQTT)----基本用法以及使用Python程序进行模拟流程
  • 井冈山游击队的口号
  • 银行存款账面余额与银行账户余额
  • php时间函数用法代码
  • npm install或npm i后没有依赖包node_modules?
  • airpods怎么注销主人
  • chatGPT身份指令
  • 进项税额转出怎么做账务处理
  • 收到股东投资款现金流量表入哪一项
  • 如何更改电子税务局办税人员
  • 房地产企业预缴增值税会计处理
  • 劳务派遣申报表附表一怎么填
  • 资本公积的项目有哪些
  • mysql5.7.35安装配置教程
  • 开票钱收不回怎么办
  • 开公司抬头的发票需要提供什么
  • 公司买15万的车可以抵扣多少税
  • 住宿费用抵扣税款会计分录
  • 所得税费用影响当期损益吗
  • 长期待摊费用进项税分录
  • 公司注销后退资需要交税吗
  • 建账初期账务处理程序
  • 2021年财务新规定
  • 法人私户转公户备注什么
  • 销售现金优惠会计分录
  • 应收票据属于其他货币资金吗
  • 房地产开发企业销售自行开发的房地产项目
  • 生产费用总分类核算的程序包括
  • win7 mysql5.7.21安装
  • 安卓系统强制竖屏
  • mac升级最新系统会卡么
  • dll文件应该放在哪里
  • linux系统获取dhcp地址
  • cocos2d原理
  • node.js编译
  • android中数据存储
  • Unity3D游戏开发(第2版)pdf
  • web开发css
  • css表格设置边框
  • 用js实现导航栏的下拉列表
  • vue自定义组件v-html
  • 举例讲解生产可能性曲线
  • eclipse窗口显示设置
  • JavaScript中的变量名不区分大小写
  • div-d和div-i
  • javascript数组操作方法
  • 堆栈模式都是什么意思
  • 江西国税发票查询官网
  • 税务局的章
  • 吉林省政府公开电话
  • 内蒙古低保信息网
  • 国家税务总局河北地税局
  • 在烟台如何发布招聘信息
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设