根据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);
}
});
后端过来摸索前端的东西,到处碰壁,记录在此,帮助有需要的人,有使用或者理解不对的地方,希望多指教