级联选择器

AUCascadePicker 提供一个多级级联选择器,最多支持三级联动选择。

效果图

接口说明

    /**
     * 设置选中的列表
     */
    public void setDateData(List<PickerDataModel> strList)


     /**
     * 设置选择启动选中项
     * @param model
     */
    public void setSelectedItem(PickerDataModel model)

    /**
     * 设置选择项监听
     * @param model
     */
    public void setOnLinkagePickerListener(OnLinkagePickerListener listener)

JSAPI 说明

接口:antUIGetCascadePicker

接口使用

AlipayJSBridge.call('antUIGetCascadePicker',
{
    title: 'nihao',//级联选择标题
    selectedList:[{"name":"杭州市",subList:[{"name":"上城区"}]}],
    list: [
        {
            name: "杭州市",//条目名称
            subList: [
                {
                    name: "西湖区",
                    subList: [
                        {
                            name: "古翠街道"
                        },
                        {
                            name: "文新街道"
                        }
                    ]
                },
                {
                    name: "上城区",
                    subList: [
                        {
                            name: "延安街道"
                        },
                        {
                            name: "龙翔桥街道"
                        }
                    ]
                }
            ]//级联子数据列表
        }
    ]//级联数据列表
},
function(result){
    console.log(result);
});

入参

名称

类型

描述

是否必选

版本

title

string

级联控件标题。

NO

10.1.2

selectedList

json

选中态,指定选中的子项。格式与入参一致,如 [{“name”:”杭州市”,subList:[{“name”:”上城区”}]}]。

NO

10.1.2

list

json

选择器数据列表。

YES

10.1.2

name (list 内的 name)

string

条目名称。

YES

10.1.2

subList (list 内的 subList)

json

子条目列表。

NO

10.1.2

fn

function

选择完成后的回调函数。

NO

10.1.2

出参

名称

类型

描述

版本

success

bool

是否选择完成,取消则返回 false。

10.1.2

result

json

选择的结果,如 [{"name":"杭州市",subList:[{"name":"上城区"}]}]

10.1.2

代码示例

                AUCascadePicker datePicker = new AUCascadePicker(PickerActivity.this);
                datePicker.setDateData(datas);
                datePicker.setOnLinkagePickerListener(new AUCascadePicker.OnLinkagePickerListener() {
                    @Override
                    public void onLinkagePicked(PickerDataModel msg) {
                        PickerDataModel model = msg;
                        AuiLogger.info("onLinkagePicked", "onLinkagePicked:"+msg.name+ model);
                        StringBuilder sb = new StringBuilder();
                        while (msg != null){
                            sb.append(msg.name+" ");
                            if(msg.subList != null && msg.subList.size() > 0) {
                                msg = msg.subList.get(0);
                            }else {
                                msg = null;
                            }
                        }
                        box3.getInputEdit().setText(sb);
                    }
                });
                datePicker.show();