滑动输入条页面刷新时只会读取第一次传入的属性值,在没有用传入id获取到正确的默认值时,页面已经被渲染了。
使用默认选中属性defaultChecked 缺点: 只会在页面第一次请求数据的时候按条件渲染
最后解决办法:
按需求来使用属性,如果你需要的只是默认为一个情况,全部false或者true,这个时候用defaultChecked即可
如果界面带有数据,有默认的值需要渲染的话,建议使用checked
状态部分:
constructor(props) { super(props) this.state = { curIstop: false, switchIsChange: "" } }
方法部分:
handleIsTop = (e, type) => { this.setState({ curIstop: e, switchIsChange: true }) }
render部分:
<Switch
onChange={(e) => this.handleIsTop(e)} checked={this.state.switchIsChange ? this.state.curIstop : !!getNotice.istop}
/>