//region 在选择的脚本中添加片段信息
onClickAddSnippet(scriptId)
{
let that = this;
let newSnippet = {};
let content = <SnippetEditor mode={'create'} snippet={newSnippet}/>;
let md = Modal.info(
{
width:400,
icon:null,
content:content,
closable:true,
onOk:(e)=>
{
if (!newSnippet.type)
{
message.warn('请选择片段类型');
}
else if (!newSnippet.id || !newSnippet.name)
{
message.warn('请正确输入id和名称');
}
else if(that.state.scripts[scriptId].snippets[newSnippet.id])
{
message.warn('片段id:'+newSnippet.id +'已存在');
}
else {
let sc = that.state.scripts;
let thisSc = sc[scriptId];
thisSc.snippets[newSnippet.id] = {name:newSnippet.name, type:newSnippet.type};
that.setState({scripts:sc},()=>{
message.success('添加片段'+newSnippet.id+'成功')
md.destroy();
console.log('当前脚本内容:',scriptId, that.state.scripts)
});
}
}
}
)
}
//endregion
注意,以上代码中,虽然OnOk中的e并没有被使用,但是如果不传入这个e的话,只要点击了ok按钮,就会关闭当前的modal,如果传入e,则会在调用了md的destory的函数后才会关闭对话框