位置: 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)

  • 笔记本开机黑屏没反应(笔记本开机黑屏)(笔记本开机黑屏时间长)

    笔记本开机黑屏没反应(笔记本开机黑屏)(笔记本开机黑屏时间长)

  • 电脑pin码忘记了怎么解锁(电脑pin码忘记了怎么修改)

    电脑pin码忘记了怎么解锁(电脑pin码忘记了怎么修改)

  • 支付宝授权管理在哪里(关闭支付宝授权管理)

    支付宝授权管理在哪里(关闭支付宝授权管理)

  • 华为荣耀10手机音量小怎么办(华为荣耀10手机壳)

    华为荣耀10手机音量小怎么办(华为荣耀10手机壳)

  • 怎样删除拼多多评价记录(怎样删除拼多多软件)

    怎样删除拼多多评价记录(怎样删除拼多多软件)

  • 快手小店打不开是怎么回事(快手小店打不开了,无法查订单)

    快手小店打不开是怎么回事(快手小店打不开了,无法查订单)

  • 电池保护模式怎么关闭(电池保护模式怎么设置)

    电池保护模式怎么关闭(电池保护模式怎么设置)

  • 荣耀8x耗电快怎么解决(手机耗电快怎么办华为荣耀8x)

    荣耀8x耗电快怎么解决(手机耗电快怎么办华为荣耀8x)

  • 手机主板换了 原来的东西还有吗(手机主板换了imei会变吗)

    手机主板换了 原来的东西还有吗(手机主板换了imei会变吗)

  • 一个快手号可以同时登录几个手机(一个快手号可以两部手机号码共用吗)

    一个快手号可以同时登录几个手机(一个快手号可以两部手机号码共用吗)

  • 苹果8p打电话对方听不到声音是怎么回事(苹果8p打电话对面说声音小)

    苹果8p打电话对方听不到声音是怎么回事(苹果8p打电话对面说声音小)

  • 抖音关注了怎么不显示(抖音关注了怎么又变成没关注了)

    抖音关注了怎么不显示(抖音关注了怎么又变成没关注了)

  • 为什么主机开了显示屏没反应(为什么主机开了键盘鼠标没反应)

    为什么主机开了显示屏没反应(为什么主机开了键盘鼠标没反应)

  • 怎样用微信交合作医疗

    怎样用微信交合作医疗

  • 蓝牙影响wifi速度解决(蓝牙会影响网络速度吗)

    蓝牙影响wifi速度解决(蓝牙会影响网络速度吗)

  • 手机实名认证不是本人怎么改(手机实名认证不了怎么办)

    手机实名认证不是本人怎么改(手机实名认证不了怎么办)

  • iphone怎么分辨国行(苹果手机如何分辨国行)

    iphone怎么分辨国行(苹果手机如何分辨国行)

  • 没有路由器可以用wifi吗(没有路由器可以用无线网卡吗)

    没有路由器可以用wifi吗(没有路由器可以用无线网卡吗)

  • wps文档损坏怎么修复(wps文件损坏了怎么办)

    wps文档损坏怎么修复(wps文件损坏了怎么办)

  • ips和ids区别(ips和ids的区别和联系)

    ips和ids区别(ips和ids的区别和联系)

  • 小米8为什么网络这么卡(小米8为什么网络不好)

    小米8为什么网络这么卡(小米8为什么网络不好)

  • 爱奇艺怎么切换旧版界面(爱奇艺怎么切换粤语)

    爱奇艺怎么切换旧版界面(爱奇艺怎么切换粤语)

  • 存储空间不足怎么删除(存储空间不足怎么关闭提示)

    存储空间不足怎么删除(存储空间不足怎么关闭提示)

  • oppo便签在哪里(oppo便签在哪里恢复)

    oppo便签在哪里(oppo便签在哪里恢复)

  • macOS Big Sur 11.2 开发者预览版 Beta如何更新?

    macOS Big Sur 11.2 开发者预览版 Beta如何更新?

  • 离岸价的含义
  • 小规模零税率申报流程
  • 小规模企业申报时间
  • 受托加工的物资是哪个科目
  • 支票上哪里填付款人账号
  • 固定资产遭受自然灾害账务处理
  • 建筑业预缴税款是什么意思
  • 现金日记账怎么记账借方还是贷方
  • 有形动产租赁简易征收适用哪些业务
  • 建筑行业未收款先开发票如何做账?
  • 企业优化什么意思
  • 增值税的税负率就是用应缴纳的增值税总额
  • 公司股权转让应纳税额怎么算
  • 民间非营利组织会计制度
  • 宽带合同属于什么合同
  • 存货成本包括哪些项目
  • 车船使用牌照税收多少
  • 如何接收银行承兑
  • 代垫资金的代购是什么
  • 存货成本要加上税费吗
  • Uniapp 使用mocjk
  • 微信用不升级
  • 企业接受现金捐赠如何开具发票
  • 保险赔款的会计分录
  • 未确认融资费用怎么算
  • 位于阿曼和迪拜的大学
  • 不得抵扣的增值税怎么处理
  • css width height
  • promise async区别
  • 员工保险个人部分交多少
  • 异地提供建筑服务预缴企业所得税
  • 最新人工智能软件chingt
  • web课程设计模板
  • php eval绕过
  • php 7.4
  • 房租税务局代增值税发票 税点
  • 茶叶开增值税专用发票,不在申报系统的农副产品类
  • 根据银行回单做流水账单
  • 应付账款账户的结构与什么账户相似
  • 企业所得税的成本怎么填?
  • mysql怎么给字段添加中文备注
  • 票据的收款人和持票人有什么区别
  • 经营性应收项目的减少调增 为什么是减
  • 跨年度少计提的企业所得税
  • 收到发票挂账如何处理
  • 低值易耗品的账务处理图片
  • 服务业增值税加计10%如何申报
  • 土地使用权是什么权利
  • 电费发票未到怎么入账
  • 高新技术企业亏损弥补的年限为十年
  • 小规模纳税人的增值税计入成本吗
  • 固定资产内部转移流程
  • 幼儿园增值税优惠政策
  • 上年度计提多了的奖金怎么办
  • 如何证明自己是中国人
  • 无形资产摊销的会计科目怎么录
  • 购入旧的固定资产还能一次性抵扣吗
  • 业务提成怎么做账内账
  • 如何设置存货计价方法有哪些
  • sql语句实现分页
  • sqlserver数据库恢复挂起状态
  • 建立索引mysql
  • win7登录设置
  • win10系统无法开机怎么修复
  • ubuntu怎样
  • linux删除大量文件方法
  • ct.dll
  • 如何去掉windows不是正版
  • 驱动人生公司怎么样
  • awk命令详解
  • 2015-04-08---cocos2dx一个都不能死(含源码)
  • nodejs yield
  • javascrpt绑定事件之匿名函数无法解除绑定问题
  • shell执行多个命令
  • 社保申报后多久缴费
  • 上海地区附加税税率
  • 企业所得税季申报表
  • 欠税务局税款的后果
  • 肉类零售
  • 个人所得税法全文完整版2021实施细则
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设