一直做的后端,这段时间一个朋友喊我一起自己搞小程序,摸着石子过河,也算摸得七七八八,但是目前遇到这个问题,是真的莫名其妙。描述如下,还望各位大佬不吝赐教,在下感激不尽:
在我设置input数字的时候,一切都是正常的,包括后面单位的选择也没有问题。
比如我刚进来,目前所见是我设置了所有的数量,默认是“0”,这是设置后的结果。单位默认为“箱”。
当我在搜索框输入过滤条件,比如“果”,回车,一切结果也正常。
当我点击取消后,相当于重新查询结果。问题出来了,单位没问题!数量只有当前过滤的两个产品是对的,别的全部变成“0”。并且我打印出来的结果数量都是对的,但就是渲染出来不对。这个打印结果是下面这段代码中打印的结果,只是我为了展示代码,把console.log 删掉了,希望有大神能替我指点一二。
我只能怀疑是不是组件本身的问题,我相信如果数量的功能自己做,不套用组件肯定不会有什么。但是既然问题遇到了,我还是想搞明白,为什么结果和渲染会出现这种情况。
页面代码:
js代码:
改变数量代码:
模糊查询代码:
先不说显不显示的问题。
错误一:setData不要重复调用,会耗时等,只在 for 循环体下面调用一次即可。合理使用setData说明文档;
错误二:搜索赋值 e.detail.value;
错误三:搜索不应该是请求后端数据,返回渲染 setData 重新渲染吗,怎么在 js 搜索那。如果有分页数据,怎么去实现。
解决方式 <wux-input-number data-index="{{index}}" bind:change="numberChange" longpress default-value="{{item.num}}" disabled="{{ false }}" min="{{0}}" slot="footer" /> 加了个 default-value="{{item.num}}"