微信小程序开发之——视图全屏显示

一 概述

本文介绍两种将view全屏显示的方式:

  • 布局文件设置宽度和高度
  • 代码中获取到屏幕的宽度和高度,设置到view上

二 布局设置宽高全屏

2.1 布局文件(index.wxml)

<view style="background-color: coral;">
</view>

2.2 样式文件(index.wxss)

view{
  width: 100vh;
  height: 100vh;
}

三 代码获取到屏幕的宽度和高度设置全屏

3.1 布局文件(index.wxml)

<view style="background-color: coral; width: {{swidth}}px; height: {{sheight}}px;">
</view>

3.2 逻辑文件(index.js)

 onLoad: function (options) {
    this.setData({
      swidth:wx.getSystemInfoSync().windowWidth,
      sheight:wx.getSystemInfoSync().windowHeight
    })
  }

四 效果图

### 微信小程序搜索框实现 #### 吸顶效果与视图层切换 当用户点击搜索框时,会触发页面布局的变化,使得新的搜索详情页浮现在当前界面之上。这种设计不仅提升了用户体验,还保持了操作的一致性和直观性[^1]。 为了达到这样的视觉效果,在微信小程序开发过程中可以利用`wx.navigateTo()` API 或者通过条件渲染来控制不同页面间的跳转或显示状态。具体来说: - **页面结构**:采用两层架构——基础页面和浮动于其上的全屏模态对话框形式呈现的高级搜索面板。 - **交互逻辑**:监听输入框获得焦点事件(`bindfocus`),一旦检测到该动作,则立即更新数据模型中的某个标志位变量(比如 `isSearchPanelVisible`),进而驱动UI变化。 ```javascript Page({ data: { isSearchPanelVisible: false, }, handleFocus() { this.setData({ isSearchPanelVisible: true }); } }); ``` #### 模糊匹配功能集成 对于模糊查询的支持,可以通过编写自定义WXS模块并将其应用于模板文件中完成。此过程涉及以下几个方面的工作[^2]: - 定义过滤器函数用于处理原始商品列表,并返回符合条件的结果集; - 将上述函数注册至 WXML 文件内以便后续调用; - 绑定相应的事件处理器以响应用户的键盘输入行为 (`bindinput`) 并实时刷新展示区域的内容。 以下是简化版代码片段展示了如何结合这些要素构建一个具备基本检索能力的小程序组件: ```html <!-- tool.wxml --> <wxs src="./goodFilter.wxs" module="goodFilter"/> <input type="text" bindinput="handleInput"/> <block wx:for="{{filteredGoods}}" wx:key="uniqueId"> <view>{{item.name}}</view> </block> ``` ```js // goodFilter.wxs module.exports.filterByKeyword = function (list, keyword) { const lowerCaseKey = String(keyword).toLowerCase(); return list.filter(item => item.name.toLowerCase().includes(lowerCaseKey)); }; ``` ```javascript // Page JS Page({ data: { goodsList: [...], // 商品列表初始化 myText: '', filteredGoods: [] }, onLoad(options){ this.updateFilteredGoods(''); }, handleInput(e) { const { value } = e.detail; this.setData({ myText: value }, () => this.updateFilteredGoods(value)); }, updateFilteredGoods(keyword){ let newList=goodFilter.filterByKeyword(this.data.goodsList,keyword); this.setData({filteredGoods:newList}) } }); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值