在 SharePoint 布尔值或字符串列中使用流畅的 ui 复选框时遇到问题

Having trouble using fluent ui checkboxes with SharePoint boolean or string columns

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

这是状态初始化:

 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 转换为字符串来解决这个问题,但这似乎没有必要。 我在这里做错了什么?

尝试使用默认勾选属性:

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

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

我发现了问题。 SharePoint 中 Yes/No 列的默认值为是。这就是它显示为勾选的原因。将其设置为否解决了这个问题。 哦,为 SharePoint 编码的恐怖。