首页 > 解决方案 > 使用带有 SharePoint 布尔或字符串列的流利 ui 复选框时遇到问题

问题描述

我在我的 SPFX(sharePoint 框架、ReactJS/TypeScript)创建的 webpart 表单上有复选框。每次 webpart 启动时,所有复选框都会被选中(勾选),我希望它们不被勾选。我在 SharePoint 中尝试了字符串和布尔列来存储更改。他们将正确地提交到列表(如果我将它们更改为勾选/未勾选),但他们总是以勾选的方式启动!

这是状态初始化:

 FocusGroups: false,
    

这是 JSX:

<Checkbox label="Focus Groups" checked={this.state.FocusGroups} onChange={this._onFocusGroupsToChange} />

这是功能:

private _onFocusGroupsToChange = (ev: React.FormEvent<HTMLElement>, isChecked: boolean) => {
 
        this.setState({
        FocusGroups: isChecked,
 
       }, () => {console.log(this.state.FocusGroups, 'state.FocusGroups');});
 
     }

我可以通过将函数中的 isChecked 转换为字符串来解决此问题,但这似乎没有必要。我在这里做错了什么?

标签: reactjstypescriptsharepoint-onlinespfx

解决方案


尝试使用 defaultChecked 属性: 在此处输入图像描述

 <Checkbox label="Focus Groups"  onChange={this._onFocusGroupsToChange} defaultChecked={false}/>

如果该复选框默认仍处于选中状态,请尝试清除浏览器缓存。


推荐阅读