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

最近做项目碰到了一个dropdown的加载问题:根据layui的文档说明,dropdown功能允许在任何标签下加载下拉框,无论是动态还是静态。然而,在我尝试使用dropdown动态加载下拉框时遇到了一个问题:即尽管每次从接口请求获取的下拉内容都会变化,但页面上只显示首次请求获取的内容。

代码如下:

复制代码
dropdown.render({
    elem: '#id'
    , data: datas
    , show: true
    , click: function (obj) {
        this.elem.val(obj.title);
    }
    , style: 'width:210px;'
});

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

复制代码
//完整重载
dropdown.reload(id, options)

但是直接使用后没有效果,研究了好久,我用这种方式解决了上面那个问题:

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

有使用或者理解不对的地方,希望多指教

相关推荐
777VG2 小时前
PostgreSQL +martin将多张表输出成一个 MVT
前端·数据库·postgresql
mayaairi2 小时前
JS循环语句深度解析:嵌套for、while与do...while
开发语言·前端·javascript
To_OC3 小时前
啃完流式输出:从一个卡顿的 LLM 接口开始,我搞懂了数据流到底怎么 “流”
前端·javascript·llm
阳光是sunny3 小时前
LangGraph实战教程:defer延迟节点——让收尾工作自动排到最后
前端·人工智能·后端
kyriewen3 小时前
我用了三周Claude Code Skills——总结出5条铁律,第3条最反直觉
前端·ai编程·claude
阳光是sunny3 小时前
LangGraph实战教程:控制流详解
前端·人工智能·后端
格尔曼Noah4 小时前
Safari浏览器中如何只允许指定网站下载
前端·safari
用户059540174465 小时前
用了3年Redis,才发现我一直没搞懂缓存一致性测试
前端·css
swipe5 小时前
07|(前端转后全栈)为什么后端也要缓存?从前端缓存思维理解 Redis
前端·后端·全栈
IT小盘5 小时前
05-企业项目统一接入多个大模型-适配器模式实战
前端·人工智能·适配器模式