TypeScript React onChanged:尝试在共享点中执行 Web 部件时出错

TypeScript React onChanged: getting an error when trying to execute the web part in sharepoint

我不明白为什么 onChanged 属性不起作用,它需要不同的参数吗?

private _onScriptEditorTextChanged(text: string) {
    this.setState({ script: text });
}

public render(): React.ReactElement<IScriptEditorProps> {
    const viewMode = <span dangerouslySetInnerHTML={{ __html: this.state.script }}></span>;

    return (
        <div >
            <div className={styles.scriptEditor}>
                <div className={styles.container}>
                    <div className={`ms-Grid-row pzl-bgColor-themeDark ms-fontColor-white ${styles.row}`}>
                        <div className="ms-Grid-col ms-lg10 ms-xl8 ms-xlPush2 ms-lgPush1">
                            <span className="ms-font-xl ms-fontColor-white">{this.props.title}</span>
                            <p className="ms-font-l ms-fontColor-white"></p>
                            <DefaultButton description='Opens the snippet dialog' onClick={this._showDialog}>Edit snippet</DefaultButton>
                        </div>
                    </div>
                </div>
            </div>
            <Dialog
                isOpen={this.state.showDialog}
                type={DialogType.normal}
                onDismiss={this._closeDialog}
                title='Embed'
                subText='Paste your script, markup or embed code below. Note that scripts will only run in view mode.'
                isBlocking={true}
                className={'ScriptPart'}
            >
                <TextField multiline rows={15} onChanged={this._onScriptEditorTextChanged} value={this.state.script} />
                <DialogFooter>
                    <PrimaryButton onClick={this._closeDialog}>Save</PrimaryButton>
                    <DefaultButton onClick={this._cancelDialog}>Cancel</DefaultButton>
                </DialogFooter>
                {viewMode}
            </Dialog>
        </div >);
}

}

查看文档如何正确使用该组件,它接受什么 props...

我认为它应该是 onChange,你需要绑定它,因为你在 onChange 函数中使用了 "this" 关键字:

<TextField multiline rows={15} onChanged={this._onScriptEditorTextChanged.bind(this)} value={this.state.script} />