From 49f09cc6f8ff8c30a75ed1a9d6f510b69b73962a Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 12 十二月 2023 21:05:37 +0800 Subject: [PATCH] 2023-12-12 --- src/views/interface/workspace/index.jsx | 35 ++++++++++++++++++++++------------- 1 files changed, 22 insertions(+), 13 deletions(-) diff --git a/src/views/interface/workspace/index.jsx b/src/views/interface/workspace/index.jsx index 2f60d6b..a750938 100644 --- a/src/views/interface/workspace/index.jsx +++ b/src/views/interface/workspace/index.jsx @@ -1,5 +1,6 @@ import React, {Component} from 'react' -import { Icon, Tabs } from 'antd' +import { Tabs } from 'antd' +import { PlusOutlined, CloseOutlined } from '@ant-design/icons' import Utils from '@/utils/utils.js' import MKEmitter from '@/utils/events.js' @@ -11,7 +12,7 @@ class WorkSpace extends Component { state = { tabviews: [{ - uuid: Utils.getuuid(), + id: Utils.getuuid(), createDate: '', method: 'POST', interface: '', @@ -38,20 +39,24 @@ } useInterface = (item) => { - item.uuid = Utils.getuuid() - this.setState({tabviews: [...this.state.tabviews, item]}) + item.id = Utils.getuuid() + + this.setState({tabviews: [...this.state.tabviews, item]}, () => { + let div = document.getElementById(item.id) + div && div.click && div.click() + }) } handleTabview = (view) => { let tabviews = fromJS(this.state.tabviews).toJS() - tabviews = tabviews.filter(item => item.uuid !== view.uuid) + tabviews = tabviews.filter(item => item.id !== view.id) this.setState({tabviews}, () => { if (tabviews.length > 0) return setTimeout(() => { this.setState({tabviews: [{ - uuid: Utils.getuuid(), + id: Utils.getuuid(), createDate: '', method: 'POST', interface: '', @@ -66,8 +71,8 @@ } handleAdd = () => { - this.setState({tabviews: [...this.state.tabviews, { - uuid: Utils.getuuid(), + let item = { + id: Utils.getuuid(), createDate: '', method: 'POST', interface: '', @@ -76,7 +81,11 @@ active: 'raw', raw: '', formData: [] - }]}) + } + this.setState({tabviews: [...this.state.tabviews, item]}, () => { + let div = document.getElementById(item.id) + div && div.click && div.click() + }) } render () { @@ -84,23 +93,23 @@ return ( <div className="workspace-wrap"> - <Icon className="add-view" type="plus" onClick={this.handleAdd} /> + <PlusOutlined className="add-view" onClick={this.handleAdd} /> <Tabs type="card"> {tabviews.map(view => { return ( <Tabs.TabPane tab={ - <span className="control"> + <span className="control" id={view.id || ''}> <span className="method"> {view.method || 'POST'} </span> <span className="interface"> {view.interface || 'Untitled Request'} </span> - <Icon type="close" onClick={() => this.handleTabview(view)}/> + <CloseOutlined onClick={() => this.handleTabview(view)}/> </span> } - key={view.uuid} + key={view.id} > <Request config={view} /> </Tabs.TabPane> -- Gitblit v1.8.0