情景复现:第一次请求接口,page为1,pageSize为10。数据库匹配的数据正好是10条,接口返回集合内共10条数据。
这种情况下再下拉列表,会第二次请求接口,page为2,pageSize为10
此时接口返回空集合。
诉求:
可不可以当数据库匹配的数据等于pageSize时,不再进行二次请求接口。
希望哪位大神能给出解决方案。
明白,感谢
问题在于这个是通用的控件,别的接口不一定会返回count的字段,所以这个不应该在控件层面去处理。定制的话用 scroll 就可以根据自己需要的方式去做了。后续新版也会考虑加上一个最后一页的方法,这样用户可以根据业务自行判断,减少一次请求。
如果接口返回数据的时候一并把count(数据库匹配的总条数)返回。这样是不是也不能自动校验是不是需要再请求一次接口。
是的,bui.list 基于 bui.scroll + ajax 两个集成一块,通过配置接口,数据字段就可以使用。控件的设计原理就是基于返回数据的条数跟pageSize 的比对,如果刚好出现相同的情况,会再发起一次请求来确定是否到最后了。除了会多一次请求以外,没有造成数据混乱的情况,用户是没有感知的,目前并没有更好的方式来判断。 如果对这个方式比较在意,可以使用 bui.scroll 根据分页进行手动处理,会繁琐很多。
微信公众账号
微信扫一扫加关注
BUI开发者交流群2
QQ扫码加群
微信小程序
微信扫一扫体验
明白,感谢
问题在于这个是通用的控件,别的接口不一定会返回count的字段,所以这个不应该在控件层面去处理。定制的话用 scroll 就可以根据自己需要的方式去做了。后续新版也会考虑加上一个最后一页的方法,这样用户可以根据业务自行判断,减少一次请求。
如果接口返回数据的时候一并把count(数据库匹配的总条数)返回。这样是不是也不能自动校验是不是需要再请求一次接口。
是的,bui.list 基于 bui.scroll + ajax 两个集成一块,通过配置接口,数据字段就可以使用。控件的设计原理就是基于返回数据的条数跟pageSize 的比对,如果刚好出现相同的情况,会再发起一次请求来确定是否到最后了。除了会多一次请求以外,没有造成数据混乱的情况,用户是没有感知的,目前并没有更好的方式来判断。
如果对这个方式比较在意,可以使用 bui.scroll 根据分页进行手动处理,会繁琐很多。