From 68c4b3ad546734e4242bf0e014ea4e361ef3e336 Mon Sep 17 00:00:00 2001 From: vapao Date: Mon, 16 Aug 2021 22:36:50 +0800 Subject: [PATCH] improve --- spug_web/src/pages/host/Detail.js | 5 +++++ spug_web/src/pages/host/Selector.js | 32 ++++++++++++++++++----------- 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/spug_web/src/pages/host/Detail.js b/spug_web/src/pages/host/Detail.js index 7a24adb..19a32f0 100644 --- a/spug_web/src/pages/host/Detail.js +++ b/spug_web/src/pages/host/Detail.js @@ -1,3 +1,8 @@ +/** + * Copyright (c) OpenSpug Organization. https://github.com/openspug/spug + * Copyright (c) + * Released under the AGPL-3.0 License. + */ import React, { useState, useEffect, useRef } from 'react'; import { observer } from 'mobx-react'; import { Drawer, Descriptions, List, Button, Input, Select, DatePicker, Tag, message } from 'antd'; diff --git a/spug_web/src/pages/host/Selector.js b/spug_web/src/pages/host/Selector.js index 9f0f959..659b0f5 100644 --- a/spug_web/src/pages/host/Selector.js +++ b/spug_web/src/pages/host/Selector.js @@ -1,6 +1,12 @@ +/** + * Copyright (c) OpenSpug Organization. https://github.com/openspug/spug + * Copyright (c) + * Released under the AGPL-3.0 License. + */ import React, { useEffect, useState } from 'react'; import { observer } from 'mobx-react'; -import { Modal, Row, Col, Tree, Table, Button, Alert } from 'antd'; +import { Modal, Row, Col, Tree, Table, Button, Space, Input } from 'antd'; +import { includes } from 'libs'; import store from './store'; import styles from './index.module.less'; @@ -9,6 +15,7 @@ export default observer(function (props) { const [group, setGroup] = useState({}); const [dataSource, setDataSource] = useState([]); const [selectedRowKeys, setSelectedRowKeys] = useState(props.selectedRowKeys || []); + const [fKey, setFKey] = useState(); useEffect(() => { if (!store.treeData.length) { @@ -20,11 +27,11 @@ export default observer(function (props) { }, []) useEffect(() => { - if (group.key) { - const records = store.records.filter(x => group.self_host_ids.includes(x.id)); - setDataSource(records) - } - }, [group]) + let records = store.records; + if (group.key) records = records.filter(x => group.self_host_ids.includes(x.id)); + if (fKey) records = records.filter(x => includes(x.name, fKey) || includes(x.hostname, fKey)); + setDataSource(records) + }, [group, fKey]) function treeRender(nodeData) { return ( @@ -81,12 +88,13 @@ export default observer(function (props) { /> - {selectedRowKeys.length > 0 && ( - setSelectedRowKeys([])}>取消选择}/> - )} +
+ setFKey(e.target.value)}/> + +