微信小程序 城市点击后跳转 并首页显示被点击城市

在微信小程序中,渲染出城市列表后,如何点击城市,就跳转回到首页,并在首页显示所点击的城市呢?

目录

一、定义点击城市的事件

二、首页的处理


首页:点击成都市会跳转到城市列表

城市列表:点击某个城市回首页,并展示 被点击城市到首页

点击后

城市列表的渲染实现请看另一篇博文:微信小程序按字母顺序渲染城市 功能实现详细讲解-CSDN博客

一、定义点击城市的事件

1、city.wxml

设置data-city 自定义属性用来存放城市名。

javascript 复制代码
<block wx:for="{{citiesByPre}}" wx:key="pre">
  <view class="title">{{item.title}}</view>
  <view class="cityArea">
    <block wx:for="{{item.cities}}" wx:key="id">
      <text class="item" bindtap="onCityClick" data-city="{{item.city_name}}">{{item.city_name}}</text>
    </block>
  </view>
</block>

2、city.js

javascript 复制代码
  onCityClick: function (e) {
    const cityName = e.currentTarget.dataset.city; // 获取点击的城市名
    wx.navigateBack({
      delta: 1, // 返回上一个页面
      success: function () {
        // 回到首页后,将城市名传递到首页
        const pages = getCurrentPages(); // 获取当前栈中的页面
        console.log("当前", pages); // 打印页面栈,查看页面实例
        const indexPage = pages[pages.length - 1]; // 获取 index 页面实例
        indexPage.setData({
          selectedCity: cityName // 设置返回页面的城市名
        });
      }
    });
  },
  1. dataset获取点击的城市名
  2. wx.navigateBack() 是微信小程序提供的 API,用于返回到上一个页面,success 回调函数会在返回操作完成后执行。
  3. getCurrentPages() 是微信小程序提供的 API,用于获取当前页面栈。它返回一个数组,数组中的每个元素表示当前页面栈中的一个页面实例。
  4. pages[pages.length - 1] 是当前页面(栈顶页,当前正在展示的页面)
  5. setData() 是小程序中的方法,用于更新页面的数据。

**pages**打印出来如下 :

二、首页的处理

1、index.js

javascript 复制代码
Page({
  data: {
    selectedCity: '' // 用来存储选中的城市名
  },
});

2、index.wxml

javascript 复制代码
  <navigator url="/pages/city/city">
    <text>当前城市:{{selectedCity || '成都市'}}</text>
  </navigator>
相关推荐
郭wes代码3 小时前
Cmd命令大全(万字详细版)
python·算法·小程序
.生产的驴8 小时前
SpringBoot 对接第三方登录 手机号登录 手机号验证 微信小程序登录 结合Redis SaToken
java·spring boot·redis·后端·缓存·微信小程序·maven
汤姆yu13 小时前
基于微信小程序的乡村旅游系统
微信小程序·旅游·乡村旅游
计算机徐师兄14 小时前
基于TP5框架的家具购物小程序的设计与实现【附源码、文档】
小程序·php·家具购物小程序·家具购物微信小程序·家具购物
曲辒净14 小时前
微信小程序实现二维码海报保存分享功能
微信小程序·小程序
朽木成才16 小时前
小程序快速实现大模型聊天机器人
小程序·机器人
peachSoda716 小时前
随手记:小程序使用uni.createVideoContext视频无法触发播放
小程序
何极光16 小时前
uniapp小程序样式穿透
前端·小程序·uni-app
小墨&晓末16 小时前
【PythonGui实战】自动摇号小程序
python·算法·小程序·系统安全
oil欧哟1 天前
🤔认真投入一个月做的小程序,能做成什么样子?有人用吗?
前端·vue.js·微信小程序