黔优媒体网-软文媒体自助发稿平台!
  1. 行业资讯
  2. 正文

小程序开发

来源:黔优媒体网   时间:2024-09-19

近段时间由于一直沉迷王者农药无法自拔,在这先自我检讨...
首先说下今天要做的需求:如下图,是前段时间给app中添加的客诉功能。


iOS.gif

能看到,里面涉及到了选择器多级联动(这里就两级)。然而,上星期三的时候接手了公司的小程序,说是小程序,其实也就两三个页面,要我把APP上的功能加上去,其中包括这个“我要投诉”的页面,综合了下安卓的选择器效果,下面看小程序上做出后的效果如下图:


小程序.gif

先大致说下这个页面的所需文件,


所需文件.png

是的,小程序的每个页面都需要.js/.json/.wxml/.wxss文件,就像前端 "三剑客"一样,这里是四剑客,但.json其实也是可有可无的,本质上还是三剑客...关于小程序的话题不多说了,对小程序感兴趣的可以私信我讨论哈。
下面开始装X。
先从布局UI开始,也就是 .wxml 和 .wxss(只给出多级联动的部分)

.wxml
 view >.wxss
.section{
 background:white;
 margin:2px;
 padding:20rpx;
 display : flex;
 flex-direction : column;
.text{
 color: #393939;
 font-size: 32rpx;
 margin-top : 2px;
/*跳出的选择器*/
.modal-content {
 position: fixed;
 bottom: -285px;
 left: 0;
 width: 100%;
 height: 285px;
 /*box-shadow: 10rpx 0 30rpx rgba(0,0,0,.9);*/
 margin-top: 5px;
 background: #fff;
 z-index: 999;
/*遮罩层*/
.modal-mask {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background: #000;
 opacity: .8;
 z-index: 99;
/*弹窗头部*/
.modal-header {
 margin: 2px 0;
 font-size: 16px;
 color: #666;
 display: flex;
 flex-direction: row;
 justify-content: space-between;
 line-height: 30px;
/*所在地区字样*/
.modal-title {
 text-align: center;
 width: 100%;
/*关闭按钮*/
.modal-close {
 width: 20px;
.modal-body {
 font-size: 14px;
/*每级地区标题*/
.viewpager-title {
 padding: 0 10px;
 /*color: #f03118;*/
 line-height: 30px;
/*分隔线*/
.viewpager-pider {
 width: 100%;
 height: 1px;
 background: #ccc;
/*左右滑动控件*/
.swiper-area {
 height:220px;
/*地址列表ListView容器*/
.viewpager-listview {
 padding-top: 5px;
 height: 100%;
/*每行地址item项*/
.viewpager-listview view{
 line-height: 30px;
 padding: 0 10px;
/*高亮当前所选地区*/
.area-selected {
 color: red;
/*初始隐藏*/
.hidden {
 display: none;
/*运行时显示*/
.show {
 display: block;
}
.js文件
var UserInfo = require( ../../../js/bean/UserInfo.js 
var ApiUser = require( ../../../js/http/ApiUser.js 
var shopss = [];
var detailAddress_arr = [];
Page({
 data: {

detailAddress_tempArr:[],//第三级的数据数组 areaSelectedStr: #39;请选择门店 #39;,//area_arr[index]+shop_arr[index] 用来显示于wxml中 maskVisual: #39;hidden #39;, areaName: #39;请选择 #39;,//显示于选择器上面部分的区域名 detailAddress: #39;可在小票上查看门店 #39;,//用来显示于wxml source: #39; #39; onLoad:function(options){ page = this; this.loadPreData();//加载选择器中的数据

areaTapped: function(e) { // 标识当前点击第一级中的哪个区域,记录其名称与主键id都依赖它 var index = e.currentTarget.dataset.index; // current为1,使得页面向左滑动一页至商场列表 // areaIndex是商场数据的标识 if(this.data.area_arr[index] == #39;未知门店 #39;){ this.setData({ areaName: this.data.area_arr[index], shopName: #39; #39;, shop_arr:[], detailAddress: #39;暂无详细地址 #39;, detailAddress_tempArr:[], areaSelectedStr: this.data.area_arr[index] + #39; #39;, this.cascadeDismiss(); }else{ this.setData({ areaName: this.data.area_arr[index], shopName: #39; #39;, detailAddress: #39;选择门店后显示详细地址 #39;, areaIndex: index, shopIndex:-1 var that = this; //todo 商场列表赋值 var shop_arr = [], shop_id = []; shopss[index].forEach(function(e){ shop_arr.push(e.shopName); shop_id.push(e.shopId); detailAddress_arr.push(e.address); that.setData({ shopName: #39;请选择 #39;, shop_arr:shop_arr, shop_id: shop_id, that.setData({ current:1 //点击第二级的商场事件,同理上面点击第一级 shopTapped: function (e) { var index = e.currentTarget.dataset.index; this.setData({ shopIndex: index, shopName: this.data.shop_arr[index] var areaSelectedStr = this.data.areaName + + this.data.shopName ; this.setData({ areaSelectedStr: areaSelectedStr, detailAddress:detailAddress_arr[index] var detailAddress_tempArr = []; detailAddress_tempArr.push(detailAddress_arr[index]); this.setData({ current:2, detailAddress_tempArr:detailAddress_tempArr //点击第三级的详细地址事件,并关闭选择器 detailAddressTapped : function (e) { this.cascadeDismiss(); currentChanged: function (e) { // swiper滚动使得current值被动变化,用于高亮标记 var current = e.detail.current; this.setData({ current: current changeCurrent: function (e) { // 记录点击的标题所在的区级级别 var current = e.currentTarget.dataset.current; this.setData({ current: current onReady:function(){ // 页面渲染完成 onShow:function(){ // 页面显示 onHide:function(){ // 页面隐藏 onUnload:function(){ // 页面关闭 })

这方面的文章是第一次写,可能可读性较差0.0 有哪些不懂的可以私信我。

【相关推荐】

1. 微信小程序完整源码下载

2. 微信小程序游戏类demo挑选不同色块

3. 微信小程序demo:阳淘

以上就是小程序开发--选择器多级联动的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。


上一篇: 没有了
【免责申明】黔优媒体网以上展示内容来源于用户自主上传、合作媒体、企业机构或网络收集整理,版权争议与本站无关,文章涉及见解与观点不代表黔优媒体网官方立场,请读者仅做参考,本文标题:小程序开发;欢迎转载,转载时请说明出处。若您认为本文侵犯了您的版权信息,或您发现该内容有任何违法/违规的内容,请您立即联系我们及时修正或删除。(邮箱号: kefu@qianu.com)
此操作需要登录,请先登录~
免费注册会员,尽享国内领先平台!