微信小程序 多标签选择和添加标签

article/2025/11/11 17:03:35

 与我之前相关的一个标签的博客(时间选择标签):

https://blog.csdn.net/weixin_42418774/article/details/98747230

今天我来说说进阶标签的选择和添加标签:

首先我们看到wxml页面布局:

wxml:<view class='btn_view'><text>标签:</text><block wx:for="{{obtnArry}}" ><view class='label_view {{item.selected ? "active" : ""}}' data-value="{{item.name}}" bindtap='dealTap' checked="{{item.selected}}" data-index="{{index}}">{{item.name}}</view></block><van-popup show="{{ show }}" bind:close="onClose" close-on-click-overlay="{{false}}" overlay="false"><view class="input_view"><text>请输入标签:</text><input class="input" placeholder="最多输入5个字" maxlength="5" bindinput="bindValue"></input><!-- <view class="btn"> --><button catchtap="onInputValue" class="determine_button">确定</button><button catchtap="onCancel" class="determine_button1">取消</button><!-- </view> --></view></van-popup><image bindtap='addinput' class="img" src="/imgs/jia.png" ></image></view>

wxss:(布局样式仅供参考,你可以有更好的优化代码)

.determine_button{background: #ff784a;color: white;border-radius: 10rpx;height: 60rpx;line-height:60rpx;position: fixed;bottom: 5rpx;left: 8rpx;width: 46%;
}
.determine_button1{background: #ff784a;color: white;border-radius: 10rpx;height: 60rpx;line-height:60rpx;position: fixed;bottom: 5rpx;right: 8rpx;width: 46%;
}
.label_view{display: flex;justify-content: center;align-items: center;padding: 1rpx 10rpx;width: 140rpx;height: 50rpx;border: 1rpx solid rgb(114, 107, 107);font-size: 26rpx;border-radius: 12rpx;color: rgb(114, 107, 107);margin-right: 5rpx;margin-top: 15rpx;
}
.btn_view{margin: 10rpx 15rpx;font-size: 26rpx;color: rgb(99, 95, 95);width: 700rpx;display: flex;flex-direction: row;align-items: center;flex-wrap: wrap;
}
.btn_view text{display: flex;align-items: center;
}
.active{background: #ff784a;border: 1rpx solid rgb(255, 253, 253);
}
.btn_view .img{margin-top: 8rpx;width: 65rpx;height: 65rpx;
}
.input_view{font-size: 28rpx;width: 400rpx;height: 270rpx;margin: 20rpx 20rpx;
}
.input{margin-top: 20rpx;margin-left: 22rpx;width: 350rpx;border: 1px #aaa solid
}

最后就是主要的js代码了:

data定义|:

js:
//同步输入框内容bindKeyInput(e) {this.setData({albumName: e.detail.value})},
// 选择标签并输入到label数组中dealTap:function(e){  let string = "obtnArry[" + e.target.dataset.index + "].selected";// const checkedicon = "obtnArry[" + e.target.dataset.index + "].selected"; console.log(!this.data.obtnArry[e.target.dataset.index].selected);this.setData({[string]: !this.data.obtnArry[e.target.dataset.index].selected})let detailValue = this.data.obtnArry.filter(it => it.selected).map(it => it.name)this.setData({label: detailValue})console.log(this.data.label)},addinput(e){this.setData({ show: true,});},
//关闭弹出层,但是我这里有取消按钮,所以这个没用了//onClose() {// this.setData({ show: false });// },//实时获取输入框的值bindValue(e){this.setData({inputValue: e.detail.value})},
//确定按钮,添加数组达到添加标签的作用onInputValue(){this.setData({ show: false ,inputValue: this.data.inputValue});var obtnArry = this.data.obtnArry;console.log(this.data.inputValue)var newData = { num: obtnArry.length, name: this.data.inputValue, selected: false };obtnArry.push(newData);//实质是添加lists数组内容,使for循环多一次this.setData({obtnArry,})console.log(this.data.inputValue)},
//取消按钮onCancel(){this.setData({ show: false });}

借鉴博客:https://blog.csdn.net/liushuanglian/article/details/101021928


http://chatgpt.dhexx.cn/article/CyefqD9j.shtml

相关文章

微信小程序——常用属性及标签

微信小程序 最近在学习小程序开发&#xff0c;在学习的过程中感受到了内容之多&#xff0c;这里总结了一些小程序开发的一些常用属性与方法&#xff0c;更加具体的还得通过打开微信开放文档进行学习&#xff0c;在学习的过程中多打demo才是最好的学习方式啊&#xff0c;再好的文…

微信小程序的标签及常见样式

view 类似div 块状元素 可设置 宽高! fix-direction:row 横向布局 fix-direction:column 纵向布局 横向滑动 标签组件: swiper和swiper-item(单个页面) 一般都是照片! 视屏和音频都可不行,上传代码包大小有限制! swiper组件常用属性: indicator-dots boolean fals…

登录测试用例设计

功能性用例设计点&#xff1a; 1. 输入已注册的用户名和正确的密码&#xff0c;验证是否成功登录 2. 输入已注册的用户名和不正确的密码&#xff0c;验证是否成功失败&#xff0c;且提示信息正确 3. 输入未注册的用户名和任意密码&#xff0c;验证是否登录失败&#xff0…

通用的测试用例编写大全(登录测试/web测试等)

目录 登录 网上资料&#xff1a; 一、基本功能测试&#xff1a; 二、页面测试&#xff1a; 三 、安全测试&#xff1a; 四、性能测试&#xff1a; 五、其它测试&#xff1a; WEB网站测试 一、输入框&#xff1a; 二、提交/确定按钮&#xff1a; 三、后退按钮&#xff…

软件测试实例:登录功能怎么设计测试用例

软件测试到底怎么设计测试用例&#xff1f;测试用例需要设计那些方面的环节&#xff1f;带着问题小编为你分享软件测试实例&#xff0c;登录功能怎么设计测试用例。 明确具体需求&#xff1a; 有一个登录页面&#xff0c;有一个账号和一个密码输入框, 一个提交按钮。 此题的考…

【转载】登录页面测试用例

登录模块测试用例整理&#xff1a; 登录模块 界面UI测试 1.布局是否合理&#xff0c;输入框&#xff0c;按钮对齐方式 2.输入框和按钮的高度&#xff0c;长度是否符合要求 3.界面的设计风格是否与UI的设计风格统一 4.界面的文字简洁易懂&#xff0c;没有错别字 功能测试 1.用户…

登录的测试用例设计点

在看了一个有关登录的一个课程之后&#xff0c;发现自己以前对登录测试的用例设计简直是井底之蛙&#xff0c;在跟领导聊天之后一致认为可以就这一课文章进行一个整理概括&#xff0c;加以完善&#xff0c;还望大家多多提意见&#xff0c;有借鉴到的内容还望见谅&#xff0c;本…

kubeadm 更改NodePort端口范围

kubeadm 更改NodePort端口范围 kubernetes默认端口号范围是 30000-32767 &#xff0c;如果期望值不是这个区间则需要更改。 一、找到配置文件里&#xff0c;一般的在这个文件夹下&#xff1a; /etc/kubernetes/manifests/ 二、找到文件名为kube-apiserver.yaml 的文件&#xff…

Spark2自定义Driver和Executor端口范围

文章目录 1.配置端口范围2.配置文件修改3.集群验证 组件版本Ambari2.7.3HDP3.1.0.0-78Spark22.3.2 Spark 的 Driver 和 Executor 之间通讯端口是随机的&#xff0c;Spark 会随选择 1024~65535&#xff08;含&#xff09; 之间的端口&#xff0c;因此在集群节点之间需要关闭防火…

FTP防火墙数据通道端口范围无法设置

云服务器通过IIS搭建FTP如何设置防火墙端口&#xff0c;而FTP被动模式默认会有一个随机端口范围。 通常这个服务如果是在本地没有什么影响。但如果在云服务器上搭建。如果不放通这些全部的随机端口范围。就会导致间歇性无法访问FTP目录。 1.数据端口显示灰色&#xff0c;网上看…

【Linux系统vsftp被动模式数据下载端口范围】

一、 vsftp被动模式设置端口范围 参考资料&#xff1a;https://blog.51cto.com/u_12476193/2308486 前提成功安装vsftp软件能运行vsftp服务并能下载上传文件。 二、vsftp修改被动模式&#xff1a; 1、 修改vsftpd配置文件 2、 输入vim /etc/vsftpd/vsftpd.conf打开配置文件…

ingress-nginx更改默认端口/修改apiserver端口范围

问题&#xff1a; 直接更改ingress svc yml文件更改端口报错。 环境说明 1、 k8s部署在纯内网环境&#xff0c;想要外网可以访问&#xff0c;需要外层的服务器做nginx转发。由于公司网络限制&#xff0c;内网服务器和外层服务器互相通信需要使用固范围内的端口。 2、ingres…

kubesphere设置nodePort端口范围

kubesphere默认的NodePort端口范围为30000-32768&#xff0c;但是咱们可以修改这个范围&#xff0c;本文针对的kubesphere版本为3.1.1&#xff0c;修改/etc/kubernetes/manifests目录下的kube-apiserver.yaml文件&#xff0c;添加下面的配置 --service-node-port-range1-65535…

FreeSWITCH的MRCP端口范围

对FreeSWITCH在unimrcp模块进行压力测试时&#xff0c;发现经过两万路呼叫之后&#xff0c;会有一些呼损。查看日志&#xff0c;全部是这个错误导致&#xff1a; AUDIO RTP REPORTS ERROR: [Bind Error! *******] 显然&#xff0c;RTP端口出现冲突了&#xff0c;导致RTP端口绑…

服务器网站端口 开放设置,服务器设置开放端口范围

服务器设置开放端口范围 内容精选 换一换 本节操作指导用户关闭Windows操作系统云服务器的防火墙,以及防火墙添加例外端口的操作。本节操作以2012操作系统云服务器为例。防火墙开启和设置安全组是对云服务器的双重保护,如果选择关闭防火墙,建议安全组谨慎开放端口。登录Wind…

Windows 查找端口占用及端口范围详解

端口范围 端口的取值范围是&#xff1a;0-65535。 在这个取值范围中1023以下的端口已经分配给了常用的一些应用程序&#xff0c;这个数字以后的端口部分被使用&#xff0c;所以网络编程可用的端口一般在1024之后选取。 查看端口占用情况 查看方法&#xff1a;首先启动cmd命…

mongo数据库之“upsert”(一种特殊的更新)

upsert&#xff1a; 是一种特殊的更新&#xff0c;如果没有找到符合条件的更新条件的文档&#xff0c;就会以这个条件和更新文档为基础创建一个新的文档&#xff1b;如果找到了匹配的文档&#xff0c;就正常更新&#xff0c;upsert非常方便&#xff0c;不必预置集合&#xff0c…

【Flink】Upsert Kafka Demo

Upsert Kafka SQL Connector Upsert Kafka 连接器支持以 upsert 方式从 Kafka topic 中读取数据并将数据写入 Kafka topic。 作为 source&#xff0c;upsert-kafka 连接器生产 changelog 流&#xff0c;其中每条数据记录代表一个更新或删除事件。更准确地说&#xff0c;数据记…

flink sql 如何upsert 到一张hologres表中

Flink Table 的三种 Sink 模式 作为计算引擎 Flink 应用的计算结果总要以某种方式输出&#xff0c;比如调试阶段的打印到控制台或者生产阶段的写到数据库。而对于本来就需要在 Flink 内存保存中间及最终计算结果的应用来说&#xff0c;比如进行聚合统计的应用&#xff0c;输出…

Upsert Kafka Connector - 让实时统计更简单

点击上方蓝色字体&#xff0c;选择“设为星标” 回复”资源“获取更多资源 在某些场景中&#xff0c;例如读取 compacted topic 或者输出&#xff08;更新&#xff09;聚合结果的时候&#xff0c;需要将 Kafka 消息记录的 key 当成主键处理&#xff0c;用来确定一条数据是应该作…