关于layui的dropdown下拉框缓存问题修复

884 阅读1分钟

根据layui文档,知道dropdown可以在任意标签下加载一个下拉框,动态的或者静态的; 当我使用dropdown动态加载下拉框出现一个问题:就是每次请求接口获取的下拉内容是变得,但是页面只绘制首次获取的下拉内容

代码如下:

//datas 是通过agax请求的后端数据
dropdown.render({
    elem: '#surpliName'
    , data: datas
    , show: true
    , click: function (obj) {
        this.elem.val(obj.title);
    }
    , style: 'width:210px;'
});

从官方文档翻到dropdown有个方法

//重新加载下拉框数据
reload()

但是直接用没有效果

研究了好久,我用这种方式解决了上面那个问题:

//先拿到dropdown.render对象
var inst = dropdown.render();
//然后用它去调reload方法,并将下拉框中的数据置为空
inst.reload({
    elem: '#id'
    , data: []
});
//然后再重载新的数据进去就可以了
inst.reload({
    elem: '#id'
    , data: datas
    , show: true
    , click: function (obj) {
        this.elem.val(obj.title);
    }
});

后端过来摸索前端的东西,到处碰壁,记录在此,帮助有需要的人,有使用或者理解不对的地方,希望多指教