免费名片小程序_小程序完成悬浮查找框

2021-01-07 12:34 jianzhan
小程序实现悬浮搜索框       这篇文章主要为大家详细介绍了小程序实现悬浮搜索框,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了小程序实现悬浮搜索框的具体代码,供大家参考,具体内容如下

悬浮搜索框是当数据界面不断滚动时,搜索框始终悬浮在最上方。来看一下效果图

UI代码

 view 
 view 
 view 
 view 
 image src="/images/scan.png" bindtap="scan" /image 
 /view 
 view 
 input bindinput="bindBarcodeInput" bindconfirm="query" bindfocus="bindBarcodeFocus" bindblur="bindBarcodeBlur" placeholder="扫描或者手动输入条码" value="{{barcode}}" confirm-type="search" / 
 /view 
 view 
 image src="/images/search.png" bindtap="query" /image 
 /view 
 /view 
 /view 
 view hidden="{{hiddenDropdown}}" 
 button size="mini" bindtap="setDemoData" 示例 /button 
 button size="mini" bindtap="clear" 清空 /button 
 /view 
 /view 

样式

.search-wrapper {
 position: fixed;/*悬停搜索框的关键样式*/
 top: 0px;
 left: 0;
 width: 100%;
 z-index: 999;
.search-panel {
 background-color: #f50;
.search-section {
 padding: 5px 0px;
 display: flex;
 flex-direction: row;
.search-demo {
 padding: 5px;
 flex-direction: row;
 background-color: #eee;
 padding-left:42px; 
 align-items: flex-start;
.search-input-wrapper {
 flex: 8;
 padding: 5px;
 background-color: #eee;
 border-radius: 3px;
.search-input {
 padding-top: 5px;
.search-clear {
 float: right;
 width: 32px;
 height: 32px;
 z-index: 998;
.search-button-wrapper {
 padding-left: 5px;
 padding-right: 5px;
 padding-top:5px; 
.search-button {
 flex: 1;
 border: none !important;
 color: white !important;
 width: 32px;
 height: 32px;
}

JS代码

//获取应用实例
var app = getApp()
Page({
 data: {
 barcode: "",
 hiddenLoading: true,
 hiddenData: true,
 hiddenDropdown: true,
 hiddenClear:true,
 demoData: 'XXXX',
 Product: {},
 bindBarcodeInput: function (e) {
 this.setData({
 barcode: e.detail.value
 bindBarcodeFocus: function (e) {
 this.setData({
 hiddenDropdown: false,
 hiddenClear:false
 bindBarcodeBlur: function (e) {
 this.setData({
 hiddenDropdown: true,
 hiddenClear:true
 scan: function (e) {
 var that = this;
 wx.scanCode({
 success: function (res) {
 that.setData({
 barcode: res.result
 that.query(e);
 fail: function () {
 that.setData({
 barcode: "",
 hiddenData: true
 complete: function () {
 // complete
 setDemoData: function (e) {
 this.setData({
 barcode: this.data.demoData
 clear: function (e) {
 this.setData({
 barcode: "",
 hiddenData: true
 query: function (e) {
 var url = "query";//查询数据的URL
 var that = this;
 if (that.data.barcode == undefined
 || that.data.barcode == null
 || that.data.barcode.length = 0) {
 that.setData({ hiddenData: true });
 wx.showToast({
 title: '请输入条码',
 image: '/images/fail.png',
 duration: 2000
 return;
 wx.request({
 url: url,
 data: { barcode: that.data.barcode },
 method: 'GET',
 success: function (res) {
 var result = res.data;
 if (result.Status != 0) {
 that.setData({ hiddenData: true });
 wx.showToast({
 title: result.Message,
 image: '/images/fail.png',
 duration: 2000
 return;
 that.setData({ Product: result.Data, hiddenData: false });
 wx.showToast({
 title: "获取数据成功",
 image: '/images/ok.png',
 duration: 2000
 fail: function (e) {
 var toastText = '获取数据失败' + JSON.stringify(e);
 that.setData({
 hiddenLoading: !that.data.hiddenLoading,
 hiddenData: true
 wx.showToast({
 title: toastText,
 icon: '',
 duration: 2000
 complete: function () {
 // complete
})

用到的几个图片

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持凡科。