本节将继续讲述小程序picker控件的使用,上篇讲述的是单级下拉列表,本次讲述的是多级下拉列表
小程序实现联动下拉列表,为实现联动润滑的效果,需要将联动用到的所有数据请求到,然后再逻辑处理这些数据,避免选中上一级,下一级结果出现迟缓卡顿的现象
第一步,小程序端向后端php请求所有用到的区划数据
onload:function(){
var url = app.globalData.domain + 'survey_server/api.php?action=getGroup&system_id=' + this.data.storageData.system_id;
var that=this;
wx.request({
url: url,
data: {
group_id: this.data.storageData.system_id,
},
header: {
'content-type': 'application/json' // 默认值
},
success: function (res) {
that.setData({ groupInfo: res.data.groupInfo});
}
})}
后端php 为小程序提供数据
public function getGroup($group_id,$name,$idno,$isExist){
$db=$this->db;
$prefix=$this->prefix;
$len=strlen($group_id);
$sql="select group_id,group_name from ". $prefix."_group where group_fatherid='$group_id' and group_operate!='d' ";
$groupInfo=$db->getAll($sql);//区{镇}
foreach ($groupInfo as $key => &$value) {
$childGroupId=$value['group_id'];
if(strlen($childGroupId==12)){
continue;
}
$childGroupInfo=$this->getGroupInfo($childGroupId);//镇{社区}
$value['child']= $childGroupInfo;
if($len==4){
foreach ($value['