转载自博客
估计这是Tabs组件的一个bug吧
做H5项目时,阿里的UI组件库比较多,一直用的很愉快,感谢阿里!
Ant Design Mobile组件库
不过,今天在使用tabs组件时,发现了一个bug,一个好的bug,总是让你欲仙欲死,特地记录下来让大家高兴一下。
如下图所示,目前有3个tab页。
项目首页地址为:http://xxx?wantTabNum=2,访问首页时,默认打开的是第一个tab,但是如果链接中wantTabNum有值,则打开指定tab页,逻辑不复杂嘛,走你!代码如下:
...
this.setState({page:wantTabNum});
...
结果并没有卵用。虽然state的page属性确实变成2了,但是页面并没有渲染。
偶然情况下发现以下代码是可以跳转到第3个tab页的:
...
this.setState({page:2});
...
没错,就是必须是Number类型才会跳转!
又专门去扒拉一下API,Tabs组件的page属性赋值可以是Number或者string类型的呀,然而使用string类型只是能赋值成功,却不会触发render()方法,不知道各位可有遇到。