当前位置: 首页 > web >正文

微信小程序中,将搜索组件获取的值传递给父页面(如 index 页面)可以通过 自定义事件 或 页面引用 实现

将搜索组件获取的值传递给父页面(如 index 页面)可以通过 自定义事件 或 页面引用 实现

方法 1:自定义事件(推荐)
步骤 1:搜索组件内触发事件
在搜索组件的 JS 中,当获取到搜索值时,触发自定义事件(如 search),并将值通过 detail 传递:

// components/search-component/search-component.js
Component({methods: {onSearchInput(e) {const value = e.detail.value; // 获取输入框的值this.triggerEvent('search', { value }); // 触发事件}}
});

步骤 2:父页面监听事件
在父页面(如 index)的 WXML 中绑定事件:

<!-- index.wxml -->
<search-component bind:search="onSearch"></search-component>

运行 HTML
在父页面 JS 中定义事件处理函数:

// index.js
Page({onSearch(e) {const searchValue = e.detail.value; // 获取子组件传递的值console.log('搜索值:', searchValue);// 这里可以调用接口或更新页面数据this.setData({ searchKeyword: searchValue });}
});

Vant Card 卡片的price-top自定义价格上方区域

<van-card num="1"  price="{{item.roomFee}}"  title="{{item.roomName}}" thumb="{{ item.coverUrl }}" thumb-mode="aspectFill"
><!-- 使用 slot 而不是 # --><view slot="price-top"><text style="text-decoration: line-through; color: #999; font-size: 12px;">原价: {{item.originalPrice}}</text><van-tag type="danger" style="margin-left: 5px;">优惠</van-tag></view>
</van-card>

返回指定民宿在给定日期范围内每天的预定状态(可订或不可订)。

使用说明
参数说明:

#{roomId}: 要查询的民宿ID

#{startDate}: 开始日期(格式:‘YYYY-MM-DD’)

#{endDate}: 结束日期(格式:‘YYYY-MM-DD’)

返回结果:

每行包含一个日期和状态

status = 1: 该日期可订

status = 0: 该日期已被预定

业务规则:

退房当天14:00前算占用(不可订)

退房当天14:00后不算占用(可订)

只考虑paid、checked_in、checked_out状态的订单

WITH date_series AS (-- 生成从startDate到endDate的日期序列SELECT DATE_ADD(#{startDate}, INTERVAL seq DAY) AS dateFROM (SELECT 0 AS seq UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNIONSELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNIONSELECT 8 UNION SELECT 9 UNION SELECT 10 UNION SELECT 11 UNIONSELECT 12 UNION SELECT 13 UNION SELECT 14 UNION SELECT 15 UNIONSELECT 16 UNION SELECT 17 UNION SELECT 18 UNION SELECT 19 UNIONSELECT 20 UNION SELECT 21 UNION SELECT 22 UNION SELECT 23 UNIONSELECT 24 UNION SELECT 25 UNION SELECT 26 UNION SELECT 27 UNIONSELECT 28 UNION SELECT 29 UNION SELECT 30 UNION SELECT 31 UNIONSELECT 32 UNION SELECT 33 UNION SELECT 34 UNION SELECT 35 UNIONSELECT 36 UNION SELECT 37 UNION SELECT 38 UNION SELECT 39 UNIONSELECT 40 UNION SELECT 41 UNION SELECT 42 UNION SELECT 43 UNIONSELECT 44 UNION SELECT 45 UNION SELECT 46 UNION SELECT 47 UNIONSELECT 48 UNION SELECT 49 UNION SELECT 50 UNION SELECT 51 UNIONSELECT 52 UNION SELECT 53 UNION SELECT 54 UNION SELECT 55 UNIONSELECT 56 UNION SELECT 57 UNION SELECT 58 UNION SELECT 59) AS seqWHERE DATE_ADD(#{startDate}, INTERVAL seq DAY) <= #{endDate}
),
occupied_dates AS (-- 查询已被占用的日期SELECT DATE(check_in_date) AS start_date,DATE(check_out_date) AS end_date,TIME(check_out_time) AS checkout_timeFROM zyf_room_orderWHERE room_id = #{roomId}AND order_status IN ('paid', 'checked_in', 'checked_out')AND (-- 订单影响查询时间段的任何部分(DATE(check_out_date) >= #{startDate} AND DATE(check_in_date) <= #{endDate})OR-- 已入住未退房的长期订单(check_out_time IS NULL AND DATE(check_in_date) <= #{endDate}))
)
SELECT ds.date,CASE -- 检查该日期是否被占用WHEN EXISTS (SELECT 1 FROM occupied_dates od WHERE ds.date >= od.start_date AND ds.date <= od.end_dateAND (-- 如果是退房日,且退房时间>14:00,则不算占用NOT (ds.date = od.end_date AND TIME(od.checkout_time) > '14:00:00'))) THEN 0  -- 已预定ELSE 1     -- 可订END AS status
FROM date_series ds
ORDER BY ds.date;
http://www.xdnf.cn/news/114.html

相关文章:

  • C++面向对象
  • Windows .NET Core 应用程序部署到 IIS 解决首次访问加载慢的问题
  • Uniapp调用native.js使用经典蓝牙串口通讯方法及问题解决
  • 线上蓝桥杯比赛环境配置
  • MySQL事务详解
  • 【Python语言基础】22、异常处理
  • 【web服务_负载均衡Nginx】二、Nginx 核心技术之负载均衡与反向代理
  • Winform发展历程
  • 【电力安全小知识】什么情况下需要铺设绝缘胶垫
  • AIGC产品如何平衡用户体验与内容安全?
  • HDFS入门】HDFS安全与权限管理解析:从认证到加密的完整指南
  • OpenHarmony-Risc-V上运行openBLAS中的benchmark
  • 部署路线Ubuntu_MySQL_Django_绑定域名
  • 【Python3】Django 学习之路
  • 51单片机实验四:键盘检测原理及应用实现
  • 【科研绘图系列】R语言绘制多个气泡图组合图(bubble plot)
  • MATLAB脚本实现了一个转子系统的参数扫描和分岔分析
  • 华为仓颉智能体开发框架 Cangjie Magic深度解析
  • 城市街拍暗色电影胶片风格Lr调色教程,手机滤镜PS+Lightroom预设下载!
  • 【java 13天进阶Day05】数据结构,List,Set ,TreeSet集合,Collections工具类
  • 【C++深入系列】:模版详解(上)
  • 几个常用的快速处理服务器命令和故障排查
  • 使用VHD虚拟磁盘安装双系统,避免磁盘分区
  • 《Operating System Concepts》阅读笔记:p735-p737
  • SQL:聚合函数(Aggregate Functions)
  • 10-openwrt-one调整rootfs_data卷,新增fit2、log、plugins等卷
  • 【MySQL】MySQL表的增删改查(CRUD) —— 上篇
  • MCP 协议:AI 世界的 “USB-C 接口”,开启智能交互新时代
  • PyTorch 深度学习实战(37):分布式训练(DP/DDP/Deepspeed)实战
  • UE5编辑器静止状态下(非 Play 模式)睫毛和眼睛的渲染是正常的,而在 Play 模式下出现模糊