小程序
小游戏
企业微信
微信支付
扫描小程序码分享
- 需求的场景描述(希望官方出一个最大选择项的配置项,配置此项后,其余动态生成的checkbox自动变为不可选状态,如当前选择数小于最大选择数时,所有都可选。目前我可以通过循环来解决问题,但是会出现卡顿,也就是动态生成的数量把选择过程变的很卡,希望官方出一个可配项,解决这个问题。)
- 希望提供的能力
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
再细化描述一下需求:
设置最大选项数
当前选项数小于最大选项数时所有选项可选
当前选项数大于最大选项数时未选项不可选,已选项可取消
难点:
1.选项是动态生成,个数不确定
2.用的循环实现,选项多了很卡
诉求:
官方出一个可配项,出现上述需求直接改变选框状态
类似图片最大上传数,填入配置项后可以限制上传图片数量
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
const items = this.data.items const values = e.detail.value //判断如果选择长度大于3,则删除第一个已选择的元素 if(values.length>3){ values.shift(values[0]) } for (let i = 0, lenI = items.length; i < lenI; ++i) { items[i].checked = false for (let j = 0, lenJ = values.length; j < lenJ; ++j) { if (items[i].value === values[j]) { items[i].checked = true break } } }
在官方代码基础上进行注释行判断,选择项大于3直接删除第一个。
然官方这块有个很大的坑,e.detail.value接收的用户点击选项,其数组排序和点击顺序无关,其顺序竟然是跟的默认选择项顺序,所以当你选择多于3项时,抛出的是最上面的一个选项,希望其他高手给出解决办法。
我只是问一下哈。。大概是多少个选项啊,循环会卡
不确定,可能是几个可能是几十个
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
再细化描述一下需求:
设置最大选项数
当前选项数小于最大选项数时所有选项可选
当前选项数大于最大选项数时未选项不可选,已选项可取消
难点:
1.选项是动态生成,个数不确定
2.用的循环实现,选项多了很卡
诉求:
官方出一个可配项,出现上述需求直接改变选框状态
类似图片最大上传数,填入配置项后可以限制上传图片数量
const items = this.data.items const values = e.detail.value //判断如果选择长度大于3,则删除第一个已选择的元素 if(values.length>3){ values.shift(values[0]) } for (let i = 0, lenI = items.length; i < lenI; ++i) { items[i].checked = false for (let j = 0, lenJ = values.length; j < lenJ; ++j) { if (items[i].value === values[j]) { items[i].checked = true break } } }
在官方代码基础上进行注释行判断,选择项大于3直接删除第一个。
然官方这块有个很大的坑,e.detail.value接收的用户点击选项,其数组排序和点击顺序无关,其顺序竟然是跟的默认选择项顺序,所以当你选择多于3项时,抛出的是最上面的一个选项,希望其他高手给出解决办法。
我只是问一下哈。。大概是多少个选项啊,循环会卡
不确定,可能是几个可能是几十个