微信小程序编辑与显示列表信息

在上一篇中在后台利用SpringBoot实现了对区域列表信息的增删改查操作,这篇将利用微信小程序完成前端与用户的交互操作。
新建一个小程序后默认含有index页面和logs页面,index页面会获取用户名和头像并显示,
在这里插入图片描述
通过点击头像会触发bindViewTap方法,在index.js中定义该方法,通过wx.navigateTo()使页面跳转到area/area

  bindViewTap: function() {wx.navigateTo({url: '../area/area'})},

最终效果如下所示,通过访问后台http://localhost:8080/SpringBootDemo/area/list,可以获取到区域列表信息,然后显示到小程序中
在这里插入图片描述
创建一个微信小程序项目后,新建一个area文件夹,然后在文件夹右键选择新建Page,就会自动创建area相关的页面文件wxml、样式表wxss、配置文件json、脚本文件js
在这里插入图片描述
新建Page后会自动在app.json中注册页面的路由信息,app.json中保存有整个小程序的配置信息

{"pages": ["pages/index/index","pages/logs/logs","pages/area/area","pages/edit/edit"],...
}

在area.json中可以对area页面进行配置,例如修改页面的标题为“区域列表”

{"navigationBarTitleText": "区域列表","usingComponents": {}
}

页面

接下来实现area.wxml页面,如下所示,

  • <view>类似于
    标签用于包裹其他组件,
  • <text>用于普通文本,
  • <scroll-view>组件用于页面滚动加载,在其中将显示area列表,通过wx:for循环遍历后台的areaList数据并渲染到页面,用index代表某个索引,item指代具体某个元素
  • <navigator>组件用于导航跳转到指定url
  • <button>按钮组件,通过bindtap属性可以为按钮或其他组件绑定点击事件
    对于每个标签,都可以使用属性data-来传递参数到dataset域,例如data-area="{{item}}",之后在函数中e.target.dataset.area获取到该对象
<view class="container"><view class="widget"><text class="column">ID</text><text class="column">区域名</text><text class="column">优先级</text><text class="link-column">操作</text></view><scroll-view scroll-y="true" wx:for="{{areaList}}"><view class="widget"><text class="column">{{item.areaId}}</text><text class="column">{{item.areaName}}</text><text class="column">{{item.priority}}</text><view class="link-column"><navigator class="link" url="../edit/edit?areaId={{item.areaId}}"> 编辑 </navigator>|<text class="link" bindtap="deleteArea" data-area="{{item}}" data-index="{{index}}"> 删除 </text></view></view></scroll-view><button type="primary" bindtap="addArea">添加区域信息</button>
</view>

每个组件都指定了class属性,在area.wxss中通过类名来对页面样式进行设置

脚本

在area.js中编辑页面涉及到的脚本

文件中自动创建了许多代码钩子,其中在data中用于存放页面中要用到的数据对象,例如之前在页面中用到的areaList就是在这里定义的

js还默认提供了许多生命周期函数,当页面执行到特殊阶段时会触发。例如onLoad在页面加载时会触发,onShow在页面显示时会触发,onUnLoad页面卸载时触发。这里需要在页面每次显示时均获取areaList数据,因此在onShow中,完成数据初始化。

首先将this保存到that变量,因为之后的代码中,this会发生改变。之后通过wx.request()向后台请求area列表信息,其中method属性指定请求方式,success定义请求成功后的回调函数,在其中判断返回结果是否为空,若为空则通过wx.showToast()弹出提示信息,若成功通过setData()将得到的数据保存到areaList中,然后页面就可以渲染area数据。

除了钩子函数之外,还可以在后面自定义函数,例如实现之前在页面中绑定的删除函数deleteArea,首先通过showModal弹出对话框询问是否删除,这里通过e.target.dataset.area.areaName就可以获取之前页面绑定在dataset中的area信息。如果用户确认删除则向后台发送删除请求执行删除操作

// pages/area/area.js
Page({/*** 页面的初始数据*/data: {areaList: []},/*** 生命周期函数--监听页面显示*/onShow: function () {var that = this;    //将当前页面对象暂存到thatwx.request({url: 'http://localhost:8080/SpringBootDemo/area/list',method: 'GET',success: (res) => {var resList = res.data.areaList;if (resList == null) {wx.showToast({		//弹出提示信息title: "获取数据失败:" + res.data.errMsg,})} else {that.setData({		//数据获取成功,保存到areaList变量areaList: resList})}}})},// 删除区域信息deleteArea: function (e) {var that = this;wx.showModal({title: "提示",content: "是否删除" + e.target.dataset.area.areaName + "?",success: (modal) => {if (modal.confirm) {    //用户点击确定wx.request({url: 'http://localhost:8080/SpringBootDemo/area/remove',data: { 'areaId': e.target.dataset.area.areaId },method: "GET",success: (res) => {var toastText;if (res.data.success) {toastText = "删除成功";that.setData({		//删除当前页面areaList中对应的序号的areaareaList: that.data.areaList.splice(e.target.dataset.index)})} else {toastText = "删除失败," + res.data.errMsg;}wx.showToast({title: toastText,duration: 2000})}})}}})}
})

需要注意的是由于直接使用http访问localhost后台,在微信进行页面请求时需要在设置->项目设置中勾选“不检验合法域名和HTTPS证书”。

同理实现area的编辑/添加页面edit,其效果如下,如果访问该页面带有areaId参数,则代表是编辑操作,页面会显示area已有值,否则为添加操作。
在这里插入图片描述
详细代码在:https://github.com/SuperTory/SpringBootDemo/tree/master/WxApp

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/143549.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

微信小程序列表筛选组件

x效果图&#xff1a; wxml: <view class"tabTit box"><view class"flex1{{!tab[index]? active:}}" wx:for"{{tabTxt}}" wx:key"type" data-index"{{index}}" bindtap"filterTab"><text>{{it…

微信小程序点击数据列表,进入列表详情页面的思路

1.在index.wxml 通过 bindtap去绑定一个事件。 对于详情页的传输数据&#xff0c;点击事件可以通过 data- 去实现&#xff0c;后面相当于是键值对&#xff0c;data-id"{{item.id}}"&#xff0c;意思是把列表的id传过去。 <view class"goods"><vi…

微信小程序删除list指定列表项

一、删除效果展示&#xff1a; // 重要代码片段async deleteListItem(e) {const sureResult await wx.showModal({title: "提示",content: "确定要删除这项吗",});if (sureResult.confirm) {const { index } e.currentTarget.dataset;setTimeout(()>{…

小程序---小程序列表项拖拽排序

一、拖拽效果图展示 首先&#xff0c;上个gif图看看效果 吐血测试了一天&#xff0c;目前还未发现bug。ps(拖拽效果仅在前端实现&#xff0c;未和后端交互) 文章代码参考小程序实现列表拖拽排序 &#xff0c;参考文章还是存在一些bug和不足&#xff0c;比如&#xff0c;样式代…

微信小程序列表页

我们在做Android开发时,几乎每个app都有几个列表,在Android中列表一般是用listview&#xff0c;后来就使用recyclerview做了,不管是小程序还是Android或者ios&#xff0c;列表都是常见的一种数据展示方式,那么在小程序中怎么实现呢&#xff1f;先使用最笨的方法做, 如图&#…

微信小程序信息展示列表

微信小程序信息展示列表 效果展示: 代码展示: wxml <view class"head"><view class"head_item">分类</view><view class"ring"></view><view class"head_item">价格</view> </view>…

微信小程序列表开发-个人中心界面(一)

先放个效果图让你们看一下是不是你们需要的&#xff0c;到时候会写几篇博客把里面的组件也讲一下 .wxml .wxss .js .json 我里面的引用的照片都放在image文件里的&#xff0c;image文件是放在pages文件下面的&#xff0c;因为放的位置不同&#xff0c;图片引用的路径…

JDK8-JDK17中的新特性(var类型推断、模式匹配、Record、密封类)

文章目录 1. 新语法结构1.1 Java的REPL工具&#xff1a; jShell命令1.2 异常处理之try-catch资源关闭1.3 局部变量类型推断1.4 instanceof的模式匹配1.5 switch表达式1.6 文本块1.7 Record1.8 密封类 2. API的变化2.1 Optional类2.2 String存储结构和API变更2.3 JDK17&#xff…

linux下安装使用dig命令

有时候用的精简版linux系统会发现没有dig命令,这时候就需要安装一下。 centos系 yum install bind-utils dig命令大多时候可以取代nslookup 简明使用,只会输出A记录(写脚本的时候容易获取ip地址) dig www.baidu.com +short只输出mx记录,简明使用 dig mx www.baidu.com…

dig命令后+trace的含义

dig trace命令 dig ip 域名 类型 trace工作过程 以 dig pbc.gov.cn trace 为例。 用户看到的结果 wireshark抓包看到的结果&#xff08;只显示了查询部分&#xff0c;响应就是查询目的对源地址的响应&#xff09; 步骤源目的查询1本机ip中指定的ip.的NS2本机本地DNS.的NS…

linux dig命令使用详解

linux dig命令使用详解 Linux下解析域名除了使用nslookup之外&#xff0c;开可以使用dig命令来解析域名&#xff0c;dig命令可以得到更多的域名信息。dig 命令主要用来从 DNS 域名服务器查询主机地址信息。 dig的全称是 (domain information groper)。它是一个用来灵活探测DN…

dig命令笔记

dig 命令全称域信息搜索器&#xff0c;是一个用于查询 DNS 域名服务器信息的命令行工具。因为dig命令灵活&#xff0c;容易使用&#xff0c;多数DNS管理员使用dig命令来诊断 DNS 问题。 dig 常用命令格式 dig [server] [-p port] [-t type] [-4] [-6] [trace] name 指定 DNS …

linux中dig 命令解释

dig&#xff08;域信息搜索器&#xff09;命令是个用于询问 DNS 域名服务器的灵活的工具。他执行 DNS 搜索&#xff0c;显示从受请求的域名服务器返回的答复。多数 DNS 管理员利用 dig 作为 DNS 问题的故障诊断&#xff0c;因为他灵活性好、易用、输出清楚 1、A记录&#xff1…

从dig命令理解DNS

DNS&#xff08;Domain Name System&#xff0c;域名系统&#xff09;&#xff0c;是一种用于将域名解析为IP的服务器系统&#xff0c;当你上网时输入一个网址&#xff0c;它之所以能够找到该网址指向的服务器地址&#xff0c;都是靠域名系统来进行解析的。 先来讲讲域名。以华…

dig命令(dig命令怎么用)

林肯公园digdeeper是哪首歌 出自专辑《Minutes to Midnight》 nslookup、dig和host这几个命令有什么作用&#xff1f; nslookup、dig和host 这几个命令在UNIX和linux系统中使用,都可以进行域名的解析?nslookup使用交互方式查询域名与IP地址的映射关系?dig的功能是发送域名查…

Windows10 下安装 dig 命令的步骤(一)

前言&#xff1a; 今天在电脑上解析域名&#xff0c;但是发现dig命令报以下错误&#xff1a; Dig 工具全称为域名信息搜索器&#xff08;Domain InformationGroper&#xff09;&#xff0c;能够显示详细的DNS查询过程&#xff0c;是一个非常强大的DNS故障诊断工具。一般Linux…

linux中dig命令返回结果解释

dig baidu.com 返回 下面说明各项意义&#xff1a; ; <<>> DiG 9.3.6-P1-RedHat-9.3.6-20.P1.el5_8.6 <<>> baidu.com ;; global options: printcmd dig程序的版本号&#xff0c;和要查询的域名 Dig的部分输出告诉我们一些有关于它的版本信息(versio…

Windows系统下安装dig命令

dig 是一个 Linux 下用来 DNS 查询信息的工具&#xff0c;全称是Domain Information Groper&#xff0c;与 nslookup 类似&#xff0c;但比 nslookup 功能更强大。Windows 下只有 nslookup&#xff0c;如果也想用到 dig 命令&#xff0c;就只能自己动手安装了。 dig 作为 bind …

(学习日记)AD学习 #4

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

Excel表格匹配合并

在日常的工作中&#xff0c;免不了存在多个表格根据相同数据匹配合并的情况&#xff0c;很多人会因为复杂的公式导致匹配失败或错误。接下来&#xff0c;我将用一个简单的方式完成这一个任务。 1、打开网址www.excelutil.com 2、选择匹配合并 3、上传左文件和右文件 这两个文…