ui: problemconfig: fix extra_files autocomplete

pull/541/head
undefined 2 years ago
parent ed34f6eb13
commit 4d766baf54
No known key found for this signature in database

@ -128,9 +128,12 @@ const AutoComplete = forwardRef(function Impl<T>(props: AutoCompleteProps<T>, re
setCurrentItem((!freeSolo && queryCache[query].length > 0) ? 0 : null);
};
useEffect(() => {
setSelectedKeys(props.selectedKeys || []);
}, [JSON.stringify(props.selectedKeys)]);
const dispatchChange = () => {
if (!multi) onChange(inputRef.current?.value);
else onChange([...selectedKeys, inputRef.current?.value].filter((v) => v?.trim().length > 0).join(','));
else onChange(selectedKeys.filter((v) => v?.trim().length > 0).join(','));
};
let first = !multi;

@ -1,6 +1,7 @@
import {
Card, InputGroup, Tag,
} from '@blueprintjs/core';
import { isEqual } from 'lodash';
import React from 'react';
import { useDispatch, useSelector } from 'react-redux';
import { i18n } from 'vj/utils';
@ -35,8 +36,8 @@ function FileIOConfig() {
function ExtraFilesConfig() {
const Files = useSelector((state: RootState) => state.testdata);
const userExtraFiles = useSelector((state: RootState) => state.config.user_extra_files) || [];
const judgeExtraFiles = useSelector((state: RootState) => state.config.judge_extra_files) || [];
const userExtraFiles = useSelector((state: RootState) => state.config.user_extra_files || [], isEqual);
const judgeExtraFiles = useSelector((state: RootState) => state.config.judge_extra_files || [], isEqual);
const dispatch = useDispatch();
const userRef = React.useRef<any>();
const judgeRef = React.useRef<any>();

Loading…
Cancel
Save