baidu / san

A fast, portable, flexible JavaScript component framework
https://baidu.github.io/san/
MIT License
4.72k stars 549 forks source link

当input标签type=checkbox的时候,value为数字类型时,会遇到多选失效 #697

Closed donghualei closed 2 years ago

donghualei commented 2 years ago

代码如下:

template = `
        <div on-click="onclick">
            <input type="checkbox" checked="{= test =}" value="{{1}}">
            <input type="checkbox" checked="{= test =}" value="{{2}}">
        </div>
    `
initData() {
      return {
           test: [1]
      }
}

最开始渲染的表现为第一个选中,符合预期;

817a387fcaa816d12166292dcc867b58

当点击时,第二个点击都不能选中,第一个点击需要点击两次才生效;多次点击后打印出来test的数据如下:

console.log(this.data.get('test'))
[1, '2', '2', '2', '2']

第二个:value不支持对象,这种是不是没必要支持,使用场景很少