省市县三级联动选择:全国省市区数据【PMGOD案列分享】

axure商城

省市县三级联动选择功能在互联网平台应用非常广泛,很多人在做产品设计时,不知道怎么实现三级联动效果,或者只能简单实现一两个固定城市的三级联动效果。如果要实现全国城市的三级联动选择呢?PMGOD将通过这篇案列分享,教大家使用Axure制作实现“全国城市省市县三级联动选择效果”。

演示地址:省市区三级联动选择(全国数据)

实现效果

1、可以任意选择全国所有省份、选择该省份对应的城市、选择该城市对应的县区;
2、未选择省份时,点击“城市下拉选择”,提示“请先选择省份”;
3、未选择城市时,点击“县区下拉选择”,提示“请先选择城市”;
4、切换选中省份时,重置城市及县区选项;
5、切换选中城市时,重置县区选项
6、当前选项处于下拉框选项状态时,点击其他选择框,隐藏当前选项下拉框;
7、下拉选项框展示时,下拉箭头向上,下拉选项框隐藏时,下拉箭头向上;
8、动态显示三级行政区移入状态、选中状态、取消选中状态;

原理分析

1、利用中继器的数据存储功能,用三个中继器分别存放省份、城市、区域数据;
1.1 省份中继器只需1列,用来存放全国所有省份数据;
1.2 城市中继器需要2列,用来存放省份数据及城市数据(注意省份名称要和省份中继器的省份名称一致);
1.3 县区中继器需要2列,用来存放城市数据及县区数据(注意城市名称要和城市中继器里城市名称一致);
2、利用“省份下拉”元件的单击事件触发省份下拉选项的展示与隐藏;
3、利用临时变量将选中的省份名称赋值给省份输入框,从而显示当前已选省份;
4、利用“省份输入框”元件的文本改变事件,触发城市文本输入框的显示及城市下拉选项框的内容;
5、利用“城市下拉”元件的选中状态事件,判断省份是否选中,未选中城市则给出“请先选择省份!”的错误提示;
6、城市、区域涉及的各元件设置方式同“2、3、4、5”步骤。

元件准备

隐藏提示文件,重新布局元件后效果如下:

实现步骤

1、准备省份数据及操作显示元件

拖入一个中继器sf,给中继器的默认Column0列添加全国所有省份数据,要加上“请选择”数据

将中继器的数据通过每项加载时赋值给矩形,矩形显示的数据就是省份待选项数据

将中继器sf转换为动态面板sfn,动态面板的大小为220px*240px。设置动态面板的滚动条属性为“自动显示垂直滚动条”

实用小技巧:将可滚动的动态面板sfn转换为动态面板sfw,动态面板的大小为200px*240px。设置动态面板的滚动条属性为“无”,从而可以实现滚动且隐藏滚动条的效果

准备三个元件,分别是:省份背景矩形放在最下面,省份显示文本框放在中间层,省份选择矩形放在最上面。

省份数据涉及的所有元件整理后如下图所示:

2、准备城市数据及操作显示元件

cs中继器(城市待选数据)有两列,一列s保存省份数据,一列cs保存城市数据,注意省份与城市的对应关系。其余操作步骤同省份数据,此处不再描述。

3、准备县区数据及操作显示元件

4、设置省份数据相关元件事件

单击省份选择时,切换该元件的选中状态;选中时,箭头向上(FontAwesome字体),显示省份下拉选项;取消选中时,箭头向下(FontAwesome字体),隐藏省份下拉选项

省份下拉选项展开,单击某一项时,将该项值赋值给省份显示文本框,同时触发省份选择的单击事件(作用是隐藏省份下拉选项框)

当省份显示文本框内容改变时,将城市显示文本框的内容改为请选择(重置城市数据),触发城市中继器的载入事件

5、设置城市数据相关元件事件

单击城市选择时,切换该元件的选中状态;

选中时,需要判断省份显示的文字是否为请选择

如果省份显示为“请选择”,表示省份还没被选中,设置界面提示为“请先选择省份!”,1秒后,自动隐藏提示

如果省份显示不为“请选择”,表示省份已经被选中了,这个时候,需要为中继器添加筛选功能,仅显示已选中省份对应的城市数据;箭头向上(FontAwesome字体),显示城市下拉选项

取消选中时,箭头向下(FontAwesome字体),隐藏城市下拉选项

中继器添加筛选功能,仅显示已选中省份对应的城市数据,设置方式如下

当城市显示文本框内容改变时,将县区文字文本框的内容改为请选择(重置县区数据)

6、设置县区数据相关元件事件

县区各元件点击、显示事件与城市各元件一致,以下是事件设置截图,具体不在描述

实用小技巧:利用显示事件的“灯箱效果”,背景色为黑色,透明度设置为20%。提示效果很漂亮。

本案例已完成,点击QQ群“532261671”获取源文件;

更多免费案例请点击http://www.pmgod.cn 查看。

本文由来源 产品大神,由 十月大神 整理编辑,其版权均为 产品大神 所有,文章内容系作者个人观点,不代表 Axure中文网 对观点赞同或支持。如需转载,请注明文章来源。
7

发表评论