本文主要是介绍12.26-2.7微信小程序开发经验,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一丶上传数据后下拉框回显并点击可以显示第几个,什么意思?
这个回显后效果,话不多说。上代码
注意这个方法,是写在刚进页面就运行的方法里,并且是在setdata TODOlist1后调用的,那么我们来看看这个方法。
这个方法需要用到Todolist1,我们来看看Todolist1里面是些什么。
todolist里是刚进页面里的未巡检的数据,知道了todolist是些什么,那么我们来看第一段代码。
先循环todolist,从循环的数据中查出大类这个字段的值,因为有两个大类的值,所以判断下,然后拼接字符串,用逗号隔开,然后使用substring 截取字符串,从第一个截取到最后一个,注意,substring截取需要使用变量接收下。
获取到截取后字符串,传入后台,根据后台查出的数据。
再次循环TodoList1,这里也是这个原因,防止有些数据为null,所有判断取出对应的值,那么我们来看看这个查出来的到底是什么?
查出的是map中key-value形式,key对应的是生产厂家,而value对应的是生产厂家下的型号,那么temp是什么呢,那肯定是key呀,通过key取出value,也就是型号
获得到temp,并通过temp去取出key下面的value,在赋值给tempArray,temparray是个数组了,在通过下面的判断,这个数组的长度大于0且第0个元素为请选择生产厂家,注意使用了取反,大于0取反就是不大于0,且第0个元素为请选择生产厂家,这两个必须同时满足2个才为True,我们来仔细想下,那种情况才会将入这个if里面,这个大于0,且第0个元素为请选择生产厂家,如果这个两个都满足,情况为,这里面大于0且第0个元素为请选择生产厂家,取反就是这两种都不是,则在数组的第一个位置插入“请选择生产厂家”unshift函数的意思在数组第0个位置插入元素。根据设备大类获取到了生产厂家,那么就要根据生产厂家获取型号了。上图
这张图片可以看到,我们在setdata sccjxcarray后调用 bindxhxcPickerChangeEcho,因为要根据生产厂家去查对应的型号,当然要在setdata后面调用它 ,我们来看看如何根据生产厂家获取型号
可以看到也是同样的操作,获取TOdolist1,循环获取设备大类丶生产厂家的值。
然后拼接字符串,传入后台查出我们想要的数据。
特意将sccjxcarray的值截图下来,方便我们理解,可以看到sccjxcarray是个2位数组,数组的第0个又是一个数组,在看上面那张图,temp从todolist1中查出的是个下标,然后,重点来了,i是循环todolist1中的变量,为什么能够用到sccjxcarray中,我们看这张图
这是将查出生产厂家放到sccjxcarray中,这里面是循环查出 todolist2中的设备大类的值,将数据放到请求中查出的值,在将这个值赋给temparray,在将temparray push到sccjacarray中,我们在回到上面那张图,就能理解我们共用同一个变量i,获得到值后,最后xhxcarray也是一个数组。
上面是执行未巡检的下拉框的显示查询,在执行未巡检的下拉框显示查询后,在执行已巡检的下拉框的显示查询,话不多说 上图
这个方法是在查询完已巡检数据后,在查询下拉框的值,因为bindsccjxcPickerChangeEcho2需要用到Todolist2,Todolist2是查询到已巡检的数据setdata进去的。bindsccjxcPickerChangeEcho2与bindsccjxcPickerChangeEcho同理
获取型号也是同理,在获取生产厂家后获取型号,然后调用
这就是后台的运行过程,那么我们来看看前台是如何获取的数据的
sccjxcarray是个二维数组,看上图的{{sccjxcarray[index][ToDoList1[index].rxsccjxc]}} 就知道了
还有一个是动态生成首页UI
动态生成就是根据数据库中数据来动态生成,不过目前是我们写在一个数组中。
一丶首先我们看下动态生成的数组是如何写的
第一个name为ui下面的名字,ui为图标,url为跳转地址,badgeurl为获取角标的地址,获取角标的地址就是后台接口地址,badge为获取角标的方法,badgeparm为获取角标的参数 ,badgeNumber为角标长度(角标数字)
首先看这个页面的onshow方法,onshow是刚进页面执行,onload是加载页面执行,也是页面最开始执行的方法,那么我们来看看onshow方法
这个方法根据我们循环的这个数组,然后一个that去调用,前面的中括号是方法名,后面小括号是方法所需的参数,
在上面的调用中就多次调用这个方法,传入两个参数,一个下标,一个方法名
传入name我们知道是为什么,根据传入的name去判断,再去调用对应的方法,那么index是干什么的
根据传入的name调用相应的方法,index也一起传入,传入后,因为拥有角标的方法不止一个,当然用index(下标)去存入对应的属性中,这时badgeNumber就是角标属性,将查出的length存入对应的属性中,那么在后台就完成了动态生成菜单。那么在页面上我们只需要循环cdArray这个数组就可以了
还有一个就是页面跳转的问题,上图可以看到,url从数组中遍历的输出,那么,这就url就变动的。我们如何进行跳转呢
我们根据点击的url去动态的跳转
小程序中的双向数据绑定
来看个实例----输入框输入数据点击搜索
当我们输入数据后,使用model:value="{{XXX}}"直接绑定到后台,
后台直接获取到这个zzbmc,我们来看看官方如何说这个
对比这种方法之前的做法太过于臃肿
之前是通过一个函数,通过函数将输入的值setdata中去
然后在使用this.data.xxx去获取值
这篇关于12.26-2.7微信小程序开发经验的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!