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

  • vivox70怎么显示流量(vivox70怎么显示中国移动)

    vivox70怎么显示流量(vivox70怎么显示中国移动)

  • 如何关闭airpods自动读信息(如何关闭airpods定位)

    如何关闭airpods自动读信息(如何关闭airpods定位)

  • 知乎怎么发表文章(知乎怎么发表文章赚收益)

    知乎怎么发表文章(知乎怎么发表文章赚收益)

  • 一个爱奇艺会员可以登几个设备(一个爱奇艺会员能几个人用)

    一个爱奇艺会员可以登几个设备(一个爱奇艺会员能几个人用)

  • 手机淘宝必备工具栏在哪里(手机淘宝必备工具安全中心在哪里)

    手机淘宝必备工具栏在哪里(手机淘宝必备工具安全中心在哪里)

  • 外星人怎么调节灯光(外星人怎么调节风扇转速)

    外星人怎么调节灯光(外星人怎么调节风扇转速)

  • 手机扫描表格怎么生成表格?(用手机扫描表格)

    手机扫描表格怎么生成表格?(用手机扫描表格)

  • 物联网专用卡是什么意思(物联网专用卡是什么)

    物联网专用卡是什么意思(物联网专用卡是什么)

  • oppo怎么恢复之前版本(oppo怎么恢复之前的字体)

    oppo怎么恢复之前版本(oppo怎么恢复之前的字体)

  • mate30照相教程(mate30照相如何)

    mate30照相教程(mate30照相如何)

  • 荣耀10超级快充多少w(荣耀10超级快充变成普通充电)

    荣耀10超级快充多少w(荣耀10超级快充变成普通充电)

  • 地暖温控器突然不亮了(地暖温控器突然不亮了什么原因)

    地暖温控器突然不亮了(地暖温控器突然不亮了什么原因)

  • n卡是什么意思(显卡n卡是什么意思)

    n卡是什么意思(显卡n卡是什么意思)

  • 苹果数据线一面能充电一面不能用(苹果数据线一面可以充电一面不能充)

    苹果数据线一面能充电一面不能用(苹果数据线一面可以充电一面不能充)

  • 华为畅享10s怎么截图(华为畅享10s怎么恢复出厂设置)

    华为畅享10s怎么截图(华为畅享10s怎么恢复出厂设置)

  • 同程vip抢票什么意思(同程抢票服务费多少钱)

    同程vip抢票什么意思(同程抢票服务费多少钱)

  • 京东账户中心在哪里(京东里面账户中心在哪)

    京东账户中心在哪里(京东里面账户中心在哪)

  • 手机流量1g等于多少gb(手机流量1g等于多少mb电信)

    手机流量1g等于多少gb(手机流量1g等于多少mb电信)

  • OPPO k5怎么设置智能接电话(oppok5怎么设置来电闪光灯)

    OPPO k5怎么设置智能接电话(oppok5怎么设置来电闪光灯)

  • vivoz5x支持无线充电吗(vivoz5x能不能无线充电)

    vivoz5x支持无线充电吗(vivoz5x能不能无线充电)

  • 荣耀20充电要多久(荣耀20充电多少A)

    荣耀20充电要多久(荣耀20充电多少A)

  • 三星bixby用不了(三星bixby无法使用)

    三星bixby用不了(三星bixby无法使用)

  • 哪款ipad支持手写笔(哪款iPad支持手柄连接)

    哪款ipad支持手写笔(哪款iPad支持手柄连接)

  • 手机怎样查看淘金币过期(手机怎样查看淘宝评价)

    手机怎样查看淘金币过期(手机怎样查看淘宝评价)

  • win10闹钟如何休眠仍然响(win10闹钟设置方法)

    win10闹钟如何休眠仍然响(win10闹钟设置方法)

  • 若依RuoYi框架log图标与文字怎么改?(若依框架介绍)

    若依RuoYi框架log图标与文字怎么改?(若依框架介绍)

  • React修改Antd组件样式的方法(react组件如何设置dom)

    React修改Antd组件样式的方法(react组件如何设置dom)

  • 《uni-app》表单组件-form表单(uni-app list)

    《uni-app》表单组件-form表单(uni-app list)

  • Node.js安装,npm安装yarn步骤(Node.js安装过程)

    Node.js安装,npm安装yarn步骤(Node.js安装过程)

  • Vue开发实例(20)之实现登录功能(vue企业开发实战)

    Vue开发实例(20)之实现登录功能(vue企业开发实战)

  • 企业技术转让享受税收优惠政策应符合哪些条件
  • 资金账簿印花税减半政策
  • 非增值税应税项目可以抵扣进项税吗
  • 外购商品发给职工如何做账
  • 母公司获得分红怎么做账
  • 预缴增值税 进项税扣除
  • 年度纳税总额的时间怎么计算
  • 上月已收款,本月开的票怎么做分录
  • 成立小规模纳税人注册资金多少
  • 个人提供劳务给个人,不开票要缴税吗
  • 因保管不善,不慎遗失
  • 先转款后开票会计分录
  • 来料加工账务处理办法
  • 加权投资年限怎么计算
  • 各行业增值税税负率表2022年
  • 保险公司的税收是多少
  • 出纳应做到
  • 购买公司付款会计分录
  • 银行交纳进口关税政策
  • win10 专业版 企业版
  • 当期应交所得税怎么计算
  • windows缺失
  • avcodec是什么意思
  • 资产负债表存货包括哪些科目
  • php数组函数 菜鸟
  • macOS 11 Big Sur 开发者预览版 Beta 8推送
  • 吕宋岛以南坐落着21座极大的岛屿
  • 员工报销的费用
  • 耕地使用税的征收标准
  • layui iconfont
  • 限售股是好是坏
  • php正则表达式匹配字符串
  • php框架ci
  • framework怎么查看
  • 逾期增值税扣税凭证抵扣管理办法
  • vue生命周期图解
  • vue使用计算属性声明在什么配置项中
  • 转让金融商品应交增值税计算公式
  • 其他应收款检查表怎么填
  • 研发费用资本化可以加计扣除吗
  • 退诉讼费计入什么科目
  • 应交增值税账面余额与报税余额不符
  • 销售不动产统一发票怎么没有税率
  • 应收账款计入营业收入
  • 税控盘开票机号在哪里能查到
  • 主要业务是生产销售家电
  • 误餐补助需要提供发票吗
  • 破产清算应收账款怎么评估
  • 初级会计实务中国财政经济出版社
  • 私车公用必须是公司员工的车吗?
  • 以前年度损益调整
  • 报销招待费是什么意思
  • 权益性无形资产包括哪些?
  • 存货类明细分类账一般采用
  • 外币应收账款汇兑损失计入财务费用吗
  • sql server 2000中的安全性包含
  • centos5.8服务器
  • linux远程登录命令ssh
  • win10 禁用驱动
  • xp安装盘复制u盘
  • find.exe应用程序错误
  • win7系统IE浏览器怎么去掉360导航
  • win7菜单栏是什么
  • win10 edge浏览器怎样添加信任站点
  • cocos2d js教程
  • 关于模型视图变化的说法
  • 深入了解求助者时,首先要进行工作是
  • android ios UI
  • jquery 插件写法
  • shell脚本中获取参数
  • unity一运行就停止工作
  • 炉石传说用什么语言开发的
  • Unity3D游戏开发标准教程
  • python flask 路由
  • 车险专票怎么做账
  • 境外投资收益如何交税
  • 车船税每年多少钱
  • 江苏社保退工办理流程
  • 地税和国税是什么关系
  • 南通五险一金最低比例
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设