位置: IT常识 - 正文

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

发布时间:2024-01-16
【微信小程序】使用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)

  • 荣耀平板V7Pro怎么设置面部解锁(荣耀平板V7Pro怎么设置横屏全屏)

    荣耀平板V7Pro怎么设置面部解锁(荣耀平板V7Pro怎么设置横屏全屏)

  • 华为nova5如何更改锁屏密码(华为nova5如何更改滑动屏幕)

    华为nova5如何更改锁屏密码(华为nova5如何更改滑动屏幕)

  • 苹果11的4G内存够用吗(iphone 11 4gb)

    苹果11的4G内存够用吗(iphone 11 4gb)

  • 饿了么差评怎么删(饿了么差评怎么可以查到哪位顾客给的)

    饿了么差评怎么删(饿了么差评怎么可以查到哪位顾客给的)

  • 图片怎么打印才清楚(图片怎么打印才清楚不发黑)

    图片怎么打印才清楚(图片怎么打印才清楚不发黑)

  • qq会员特权

    qq会员特权

  • Word首行缩进4个英文字符怎么设置(word首行缩进4个英文字符是啥意思)

    Word首行缩进4个英文字符怎么设置(word首行缩进4个英文字符是啥意思)

  • u盘重装系统无法检测c盘(U盘重装系统无法创建文件夹,系统找不到指定的路径)

    u盘重装系统无法检测c盘(U盘重装系统无法创建文件夹,系统找不到指定的路径)

  • QQ在线状态TiMi中是什么意思(qq在线状态timi中好友在线吗)

    QQ在线状态TiMi中是什么意思(qq在线状态timi中好友在线吗)

  • vivo手机摄像头黑屏是怎么回事(vivo手机摄像头打不开怎么回事)

    vivo手机摄像头黑屏是怎么回事(vivo手机摄像头打不开怎么回事)

  • 拼多多退货单号填错了还能修改吗(拼多多退货单号没有怎么办)

    拼多多退货单号填错了还能修改吗(拼多多退货单号没有怎么办)

  • 创建管理员密码是什么意思(创建管理员密码用手机怎么设置)

    创建管理员密码是什么意思(创建管理员密码用手机怎么设置)

  • 终端与ap的连接过程是什么(终端与AP的连接过程是什么)

    终端与ap的连接过程是什么(终端与AP的连接过程是什么)

  • 苹果耳机连安卓声音小(苹果耳机连安卓手机怎么操作)

    苹果耳机连安卓声音小(苹果耳机连安卓手机怎么操作)

  • qq管理员有什么用(qq管理员有什么权限)

    qq管理员有什么用(qq管理员有什么权限)

  • qq有一个共同好友是不是自己(QQ有一个共同好友)

    qq有一个共同好友是不是自己(QQ有一个共同好友)

  • 荣耀30参数详细参数(荣耀30参数详细价格)

    荣耀30参数详细参数(荣耀30参数详细价格)

  • 小米10是不是5g手机(小米10是不是曲面屏)

    小米10是不是5g手机(小米10是不是曲面屏)

  • oppor17充电是40瓦吗(oppor17的充电功率)

    oppor17充电是40瓦吗(oppor17的充电功率)

  • iphone5处理器是a几(iphone5c的处理器)

    iphone5处理器是a几(iphone5c的处理器)

  • 抖音人工认证审核需要多久(抖音人工审核在哪里打开)

    抖音人工认证审核需要多久(抖音人工审核在哪里打开)

  • 苹果手机怎么显示节日壁纸(苹果手机怎么显示sim卡联系人)

    苹果手机怎么显示节日壁纸(苹果手机怎么显示sim卡联系人)

  • 网卡的正式名称(计算机网卡的正式名称)

    网卡的正式名称(计算机网卡的正式名称)

  • 怎么解除抖音分享限制(怎么解除抖音分期付款)

    怎么解除抖音分享限制(怎么解除抖音分期付款)

  • 使用 iframe出现了缓存,导致页面不会刷新的解决方案(iframe frame)

    使用 iframe出现了缓存,导致页面不会刷新的解决方案(iframe frame)

  • 所得税汇算清缴招待费扣除标准
  • 决算报表与账不一致怎么调账
  • 库存商品发出汇总表
  • 公司代扣代缴社保怎么操作
  • 盈余公积多计提对报表的影响
  • 补记上年度计提所得税费用的会计分录
  • 计提工资和应付职工薪酬怎么不一样
  • 暂估应付账款借方余额
  • 外贸企业需要交哪些税费
  • 工程个人所得税扣除标准是多少
  • 附加税税种认定不完整是什么意思
  • 审核发票的要素
  • 销售不动产增值税税率变化
  • 以前年度企业所得税少计提实际已交
  • 计提福利费用会计分录
  • 健身器材属于哪个部门管理
  • 减征资源税中是否包含水资源税?
  • 去年的发票今年怎么做会计分录
  • 会计基础工作是会计工作的基本环节
  • 炫龙dd3笔记本怎么样
  • 股东借款作为项目资本金
  • windows 7怎么打开虚拟化
  • macos big sur卡在
  • paddle!
  • 单位人工成本计算公式
  • 企业财务会计
  • 无形资产摊销的会计及账务处理
  • 交完社保
  • vscode eslint vue
  • vscode插件大全
  • 盘亏结转
  • 傅里叶变换的过程
  • move命令移动文件夹下所有文件
  • php基于单例模式开发
  • php魔术方法功能与用法实例分析
  • css浮动怎么弄
  • 个税在工资里怎么计提
  • 社保清算是怎么回事
  • 应交土地增值税税率
  • 在mysql中创建数据库和表作业
  • 玉米 收购
  • 小规模纳税人1%税率优惠政策
  • 罚款支出计入什么费用
  • 取得土地使用权所支付的金额包括契税吗
  • 发票的类型分为哪几类
  • 银行开出的发票可以进行税抵扣吗?
  • 收到员工交来的宿舍费
  • 画完图不给钱怎么办
  • 非货币性资产交换换入资产的入账价值
  • 税收滞纳金可以扣除吗
  • 公司办公室买的茶叶怎么入账
  • 增值税纳税申报表怎么填
  • 设计费勘察费计入固定资产吗
  • 出售无形资产损失
  • 营改增后建筑业分公司账务
  • 企业发生存货盘盈时计入营业外收入科目
  • 商品流通的企业
  • freebsd常用命令
  • 电脑被攻击了怎么修复
  • ghost出现错误
  • xp如何改windows7
  • win7开启远程设置
  • window10如何修改电脑名称
  • win8.1卸载软件在哪里
  • 安装音乐库
  • 安装ghost win7
  • 安卓布局优化
  • iframe 自适应宽度和高度
  • css划动
  • jquery 输入框输入完触发事件
  • android网络开发技术答案形考任务五
  • New AssetBundle build system in Unity 5.0
  • jquery input
  • js动态添加trtd
  • 车辆购置税大厅办理流程
  • 广州税务局前局长是谁
  • 纳税人状态怎么填
  • 完税证明可以自己在家打印吗
  • 深圳12366接听客服工作怎么样
  • 上海增值税发票红字怎么开
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号