在 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 编码的恐怖。
我在 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 编码的恐怖。