import React, { useEffect, useState } from "react"; import { Switch, Form, Input, Space, Tag, InputNumber, } from 'antd'; import Styles from './web.module.less'; import EditorRegexs from "../password/editorRegexs"; export default function LoginName(props) { const { passport, t, changeEnabled, updateConfig } = props; const { id, type, enabled, stateColor } = passport; const config = passport.config || {}; const [min, setMin] = useState(config?.min); const [max, setMax] = useState(config?.max); const [regexs, setRegexs] = useState(config?.regexs || []); const [register, setRegister] = useState(false); const [tip, setTip] = useState(config?.tip || ''); useEffect(() => { setMin(config?.min || 2); setMax(config?.max || 8); setRegexs(config?.regexs || []); setRegister(!!config?.register); setTip(config?.tip || ''); }, [config]); return (
{t(`passport:v.type.${type}`)} { changeEnabled(checked); }}/>
{enabled &&
{ updateConfig(id, config, 'min', value, 'loginName'); }}/>
~
{ updateConfig(id, config, 'max', value, 'loginName'); }}/>
{ updateConfig(id, config, 'verify', checked, 'loginName'); }}/> <> {!!config?.verify ? (<> { updateConfig(id, config, 'regexs', regexs, 'loginName'); }}/> ) : (
暂未启用正则校验,无需设置
)}
{ updateConfig(id, config, 'register', checked, 'loginName'); }}/> { setTip(e.target.value); }} onBlur={() => { if (tip && tip !== config?.tip) { updateConfig(id, config, 'tip', tip, 'loginName'); } }}/>
}
); }