【轻松开发微信小程序】实现用户增删改查功能

文章目录

  • 人工智能福利文章
  • 前言
  • 创建微信小程序项目
  • 创建项目目录结构
  • 编写首页页面
  • 编写编辑页面
  • 实现增删改查功能
  • 展示最终效果
  • 总结
  • 写在最后

在这里插入图片描述

✍创作者:全栈弄潮儿
🏡 个人主页: 全栈弄潮儿的个人主页
🏙️ 个人社区,欢迎你的加入:全栈弄潮儿的个人社区
📙 专栏地址:小程序从入门到精通

人工智能福利文章

  • 【分享几个国内免费可用的ChatGPT镜像】
  • 【10几个类ChatGPT国内AI大模型】
  • 【用《文心一言》1分钟写一篇博客简直yyds】
  • 【用讯飞星火大模型1分钟写一个精美的PPT】

前言

上一篇博客中我们学习了什么是小程序以及开发一个小程序的具体步骤。

在本篇博客中,我们来开发一个用户列表增删改查功能的完整流程,包括微信小程序项目目录、项目创建、编码、实现功能以及最终效果的展示。

在这里插入图片描述

创建微信小程序项目

首先,在微信开发者工具中,选择新建小程序项目,填写小程序名称、AppID以及项目路径,点击确定即可创建微信小程序项目。

创建项目目录结构

在创建好的微信小程序项目中,创建以下目录结构:

- pages/- index/- index.js- index.json- index.wxml- index.wxss- edit/- edit.js- edit.json- edit.wxml- edit.wxss
- app.js
- app.json
- app.wxss

编写首页页面

在pages目录下,创建一个index目录,用于存放首页页面相关文件。在index目录下,创建以下文件:

- index.js
- index.json
- index.wxml
- index.wxss

在index.js中,编写以下代码:

// index.js
Page({data: {listData: []},onLoad: function () {// 页面加载时,从本地缓存中获取数据const listData = wx.getStorageSync('listData') || []this.setData({listData})},gotoAdd: function () {// 跳转到添加页面wx.navigateTo({url: '/pages/edit/edit',})},gotoEdit: function (e) {// 跳转到编辑页面const id = e.currentTarget.dataset.idwx.navigateTo({url: `/pages/edit/edit?id=${id}`,})},deleteData: function (e) {// 删除数据const id = e.currentTarget.dataset.idconst listData = wx.getStorageSync('listData') || []const index = listData.findIndex(item => item.id === Number(id))listData.splice(index, 1)wx.setStorageSync('listData', listData)this.setData({listData})}
})

在index.wxml中,编写以下代码:

<!-- index.wxml -->
<view class="container"><button class="add-btn" bindtap="gotoAdd">添加</button><view class="list"><block wx:for="{{listData}}" wx:key="id"><view class="item" bindtap="gotoEdit" data-id="{{item.id}}"><text class="text">{{item.text}}</text><text class="delete" bindtap="deleteData" data-id="{{item.id}}">删除</text></view></block></view>
</view>

在index.wxss中,编写以下代码:

/* index.wxss */
.container {display: flex;flex-direction: column;align-items: center;margin-top: 20rpx;
}.add-btn {width: 80%;background-color: #4caf50;color: #fff;border-radius: 5rpx;padding: 10rpx;text-align: center;margin-bottom: 20rpx;
}.list {width: 80%;
}.item {display:flex;justify-content: space-between;align-items: center;padding: 10rpx;background-color: #fff;border-radius: 5rpx;margin-bottom: 10rpx;box-shadow: 0 0 10rpx rgba(0, 0, 0, 0.2);
}.text {font-size: 16rpx;
}.delete {
color: red;
font-size: 14rpx;
}

在index.json中,编写以下代码:

{"navigationBarTitleText": "首页"
}

编写编辑页面

在pages目录下,创建一个edit目录,用于存放编辑页面相关文件。在edit目录下,创建以下文件:

- edit.js
- edit.json
- edit.wxml
- edit.wxss

在edit.js中,编写以下代码:

// edit.js
Page({data: {id: 0,text: ''},onLoad: function (options) {if (options.id) {// 如果是编辑页面,从本地缓存中获取数据const listData = wx.getStorageSync('listData') || []const data = listData.find(item => item.id === Number(options.id))this.setData({id: data.id,text: data.text})}},handleInput: function (e) {// 监听输入框输入事件this.setData({text: e.detail.value})},handleSave: function () {// 保存数据const listData = wx.getStorageSync('listData') || []let { id, text } = this.dataif (id) {// 如果是编辑数据,修改原有数据const index = listData.findIndex(item => item.id === Number(id))listData[index] = {id: Number(id),text}} else {// 如果是新增数据,生成新的id,并添加到列表中id = listData.length ? listData[listData.length - 1].id + 1 : 1listData.push({id,text})}wx.setStorageSync('listData', listData)wx.navigateBack()}
})

在edit.wxml中,编写以下代码:

<!-- edit.wxml -->
<view class="container"><input class="input" type="text" placeholder="请输入内容" value="{{text}}" bindinput="handleInput" /><button class="save-btn" bindtap="handleSave">保存</button>
</view>

在edit.wxss中,编写以下代码:

/* edit.wxss */
.container {display: flex;flex-direction: column;align-items: center;margin-top: 20rpx;
}.input {width: 80%;height: 80rpx;font-size: 16rpx;border-radius: 5rpx;padding: 20rpx;background-color: #fff;box-shadow: 0 0 10rpx rgba(0, 0, 0, 0.2);margin-bottom: 20rpx;
}.save-btn {width: 80%;background-color: #4caf50;color: #fff;border-radius: 5rpx;padding: 10rpx
}

实现增删改查功能

在index.js中,添加以下代码:

// index.js
Page({data: {listData: []},onShow: function () {// 页面显示时,从本地缓存中获取数据,并更新数据const listData = wx.getStorageSync('listData') || []this.setData({listData})},handleAdd: function () {// 点击新增按钮,跳转到编辑页面wx.navigateTo({url: '/pages/edit/edit'})},handleEdit: function (e) {// 点击列表项,跳转到编辑页面,并携带id参数const id = e.currentTarget.dataset.idwx.navigateTo({url: `/pages/edit/edit?id=${id}`})},handleDelete: function (e) {// 点击删除按钮,删除该项数据,并更新本地缓存const id = e.currentTarget.dataset.idconst listData = wx.getStorageSync('listData') || []const index = listData.findIndex(item => item.id === Number(id))listData.splice(index, 1)wx.setStorageSync('listData', listData)this.setData({listData})}
})

在index.wxml中,修改以下代码:

<!-- index.wxml -->
<view class="container"><button class="add-btn" bindtap="handleAdd">新增</button><view class="list"><block wx:for="{{listData}}" wx:key="id"><view class="list-item" bindtap="handleEdit" data-id="{{item.id}}"><text class="text">{{item.text}}</text><text class="delete" bindtap="handleDelete" data-id="{{item.id}}">删除</text></view></block></view>
</view>

至此,一个简单的小程序用户列表增删改查功能就完成了。

展示最终效果

使用微信开发者工具打开项目,点击编译运行按钮,即可看到最终效果。

总结

本文介绍了开发微信小程序所需的基本知识,包括微信小程序的目录结构、项目创建、编码等方面。并以一个简单的用户列表增删改查功能为例,演示了如何在小程序中实现常见的增删改查操作。

需要注意的是,本文只是一个入门级别的示例,实际的小程序开发中可能会涉及更多的技术和知识,例如网络请求、数据绑定、组件开发等等。如果想要深入了解微信小程序开发,建议多阅读官方文档和相关书籍,积累更多的实战经验。

希望本文对初学者有所帮助,如果有任何问题或建议,欢迎留言讨论。

写在最后

✨原创不易,希望各位大佬多多支持。

👍点赞,你的认可是我创作的动力。

⭐️收藏,感谢你对本文的喜欢。

✏️评论,你的反馈是我进步的财富。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ChatGLM】记录一次Windows部署ChatGLM-6B流程及遇到的问题

文章目录 部署环境文件下载项目文件模型配置文件模型文件 运行demo遇到的问题 部署环境 系统版本&#xff1a;Windows 10 企业版 版本号&#xff1a;20H2 系统类型&#xff1a;64 位操作系统, 基于 x64 的处理器 处理器&#xff1a;Intel Core™ i7-8700 CPU 3.20GHz 3.19 GH…

微软将推出Win12 没想到吧?

&#x1f447;&#x1f447;关注后回复 “进群” &#xff0c;拉你进程序员交流群&#x1f447;&#x1f447; 来源丨程序员软件库 https://mp.weixin.qq.com/s/0QIEVgIvKUXu3E3PhDazyA 据知名编辑 扎克•鲍登 发布的最新消息&#xff0c;微软内部已经着手更新 Windows 路线图&…

使用Windbg过程中两个使用细节分享

我们在使用工具的过程中,一般都会遇到一些使用上的细节或者技巧,今天就来给大家分享一下最近使用Windbg过程中遇到的两个问题,以供参考。 VC++常用功能开发汇总(专栏文章列表,欢迎订阅,持续更新...)https://blog.csdn.net/chenlycly/article/details/124272585<

Instant-ngp 在 window10 上的部署

一、环境部署 1、Visual Studio 2019 安装 Visual Studio 2019 预览版发行说明 | Microsoft Docs 从上述链接下载Community 2019版并安装&#xff0c;界面如下 选择C选项&#xff0c;右侧复选框默认&#xff0c;点击安装。安装完成后重启系统。 2、CUDA-Toolkit 安装 输入…

正式向Win12过渡,微软为Win11开启一大波功能更新

距离 Win 11 正式发布已过去接近两年时间&#xff0c;为了让大家放弃老系统升级 Win 11&#xff0c;微软没少下功夫。 除了各种强制弹窗通知提醒升级外&#xff0c;微软还大刀阔斧砍掉 Win 10 功能更新&#xff0c;并已宣布其最后死期——2025 年 10 月。 然而这一套组合拳下…

Windows 12 新界面曝光:透明玻璃欲回归,任务栏大变!

作为Windows 8.x的继任者&#xff0c;Windows 10选择了“扁平化”的UI风格&#xff0c;放弃了对圆角窗口的支持&#xff0c;而在Windows 11上&#xff0c;这些因素又全部回来了。 按照之前的说法&#xff0c;下一版Windows主要更新将引入类似Windows 7 Aero效果的新体验&#…

Windows10下ChatGLM2-6B模型本地化安装部署教程图解

随着人工智能技术的不断发展&#xff0c;自然语言处理模型在研究和应用领域备受瞩目。ChatGLM2-6B模型作为其中的一员&#xff0c;以其强大的聊天和问答能力备受关注&#xff0c;并且最突出的优点是性能出色且轻量化。然而&#xff0c;通过云GPU部署安装模型可能需要支付相应的…

Win11下VS2022的emguCV4.6安装配置方法

本人做图像处理处理很多年了&#xff0c;最开始是用VC6&#xff0c;尽管有一些源码例子&#xff0c;但好多库还得自己创建&#xff0c;什么都得自己写&#xff0c;工作量巨大。VS是从2003版本开始入门的&#xff0c;这也是VS的第一个版本&#xff0c;这个版本其实是个测试版&am…

你认为微软 Win12 可以在哪些方面改进?

众所周知&#xff0c;微软正在努力开发 Windows 的下一个版本&#xff0c;为了方便理解下文就叫它“Win12”了。新版本的内部代号为“Next Valley”&#xff0c;目前仍处于早期规划和工程阶段&#xff0c;目标是在 2024 年年底上线。 距离“Win12”发布还有 2 年多时间&#xf…

windows,win10安装微调chat,alpaca.cpp,并且成功运行(保姆级别教导)

win10下安装aplaca.cpp 1.下载alpaca-cpp源码 ​ https://github.com/antimatter15/alpaca.cpp 2.下载基础模型 下载 ggml-alpaca-7b-q4.bin并将其放在与chatzip 文件中的可执行文件相同的文件夹中。 从最新版本下载与您的操作系统对应的 zip 文件。在 Windows 上下载alpa…

ChatGLM-6B的windows本地部署使用

ChartGPT最近特别火&#xff0c;但是收费&#xff0c;而且国内访问不太方便&#xff0c;所以找了个类似的进行学习使用 ChatGLM-6B&#xff0c;开源支持中英文的对话大模型&#xff0c;基于 General Language Model (GLM) 架构&#xff0c;具有62亿参数&#xff0c;简单说非常…

ChatGLM环境配置

【目的】 ChatGPT令人震撼的冲击下&#xff0c;笔者转向NLM的Transformer模型&#xff0c;ChatGLM作为清华开源的大语言模型&#xff0c;笔者尝试了其环境配置&#xff0c;为相关理论学习奠定基础。本文用于备忘与学习&#xff0c;无商业用途。 【参考】 ChatGLM的源码下载链…

马斯克最新访谈全文,信息量极大,远见令人震撼

"建设太空文明和成为多星球物种是重要的&#xff0c;如果将来发生了第三次世界大战或者类似的事情&#xff0c;或者发生了全球性热核战争&#xff0c;那个时候可能地球上所有的文明都将被毁于一旦&#xff0c;但它至少能够继续在别的地方存在。" 作者 | 六毛 来源 | …

NER实战:(命名实体识别/文本标注/Doccano工具使用/关键信息抽取/Token分类/源码解读/代码逐行解读)

精读这篇文章你就能知道什么是NER&#xff0c;并且可以学会在开发任务中使用NER 目录 1、chatGPT对NER的解释 2、NER任务 3、NER标注工具Doccano 1、chatGPT对NER的解释 命名实体识别&#xff08;Named Entity Recognition&#xff0c;NER&#xff09;是自然语言处理领域的…

Ubuntu 18.04 LTS 更换国内源(镜像)

中科大源官方帮助 官方还有其它发行版的帮助&#xff0c;在 Ubuntu 18.04 LTS 上打开软件列表可以看到“软件和更新”。

Ubuntu22.04更换国内镜像源(阿里、网易163、清华、中科大)

更换方法 Ubuntu采用apt作为软件安装工具&#xff0c;其镜像源列表记录在/etc/apt/source.list文件中。 首先将source.list复制为source.list.bak备份&#xff0c;然后将source.list内容改为需要的镜像源列表即可。 修改完成后保存source.list文件&#xff0c;执行&#xff…

比较两幅图像的相似度

现在以图搜图的功能比较火热&#xff0c;很好奇其原理。 简单的搜索学习得知&#xff0c;实现相似图片搜索的关键技术是“感知哈希算法”&#xff0c;作用是对每一张图片按照某种规律生成一个对应的指纹字符串。比较不同图片之间的指纹字符串&#xff0c;结果越接近&#xff0…

比较两个模拟信号的相似度

转载自微信公众号 原创 逸珺 嵌入式客栈 #include <stdio.h> #include <math.h>/* 返回值在区间&#xff1a; [-1,1] */ /* 如返回-10&#xff0c;则证明输入参数无效 */ #define delta 0.0001f double calculate_corss_correlation(double *s1, doub…

图像相似度对比分析软件,图像相似度算法有哪些

有没有一款软件能比对两张照片是否一样? 可以用AI软件来对比。AI人脸比对已经变成非常常用的AI场景之一。步骤如下&#xff1a;1、浏览器输入网址百度AI应用&#xff0c;AI人脸比对。2、进入人脸比对的功能演示模块。 3、点击左侧的‘本地上传’按钮&#xff0c;上传本地照片…

图像相似度对比分析软件,图像相似度计算方法

怎么对比两张图片的相似度 1、首先打开微信&#xff0c;选择底部“发现”。如图所示。2、然后在点击进入“小程序”。如图所示。3、然后输入“腾讯AI体验中心”搜索&#xff0c;点击进入。4、选择“人脸对比”。如图所示。 5、上传两张图片上去&#xff0c;点击“人脸比对”。…