省市区级联,需求背景就不多说了,几乎是管理系统必备的一个功能,对于大部分初级开发者来说,做这种功能还是比较繁琐,又要写后端又要写前端。

不用担心,Eova为你办妥了,你拿来就可以用了!

案例:酒店管理>修改数据 省市区级联

实现详解:

1.配置自定义JS

详情参考Demo中的JS文件!

2.添加DB字段和元字段

详情查看Demo!

3.效果

同理,也能实现 多级类型级联等任意的级联操作业务!


V1.6 关于级联的优化升级

// V1.6 之前的实现-手工拼接URL,重新加载
var url = '/widget/comboJson?exp=select id ID,name CN from area where lv = 2 and pid = ' + newValue;
$city.eovacombo({url : url}).reload();
// 不安全,容易出现乱码,字符串处理异常等问题

新的实现:

// selectAreaByLv2AndPid 为预配置的 表达式Key
$city.eovacombo({exp : 'selectAreaByLv2AndPid,' + newValue}).reload();

表达式在哪配置?

public class OSSConfig extends EovaConfig {
    /**
     * 自定义表达式(主要用于级联)
     */
    @Override
    protected void exp() {
        super.exp();
        // 区域级联查询
        exps.put("selectAreaByLv2AndPid", "select id ID,name CN from area where lv = 2 and pid = ?");
        exps.put("selectAreaByLv3AndPid", "select id ID,name CN from area where lv = 3 and pid = ?");
        // 用法,级联动态在页面改变SQL和参数
        // $city.eovacombo({exp : 'selectAreaByLv2AndPid,10'}).reload();
        // $city.eovacombo({exp : 'selectAreaByLv2AndPid,aaa,10'}).reload();
        // $find.attr('url', buildUrl(newValue));
        // $find.eovafind({exp : 'selectAreaByLv2AndPid,aaa,10'});
    }
}
© 2019 EOVA.CN all right reserved,powered by Gitbook本文档更新于: 2019-07-22 15:54

results matching ""

    No results matching ""