解决按钮无障碍

This commit is contained in:
lyf
2024-08-07 13:01:08 +08:00
parent c9099ca0a5
commit 14ff46b5cd
8 changed files with 89 additions and 2 deletions

View File

@@ -265,9 +265,17 @@ export function Input(props: InputProps) {
);
}
export function PasswordInput(props: HTMLProps<HTMLInputElement>) {
const [visible, setVisible] = useState(false);
// 定义一个接口 AriaProps包含一个可选的 aria 属性
interface AriaProps {
aria?: string;
}
// 定义一个接口 PasswordInputProps继承自 HTMLProps<HTMLInputElement> 和 AriaProps
// 用于描述密码输入框组件的属性
interface PasswordInputProps extends HTMLProps<HTMLInputElement>, AriaProps {}
export function PasswordInput(props: PasswordInputProps) {
const [visible, setVisible] = useState(false);
function changeVisibility() {
setVisible(!visible);
}
@@ -275,6 +283,7 @@ export function PasswordInput(props: HTMLProps<HTMLInputElement>) {
return (
<div className={"password-input-container"}>
<IconButton
aria={props.aria}
icon={visible ? <EyeIcon /> : <EyeOffIcon />}
onClick={changeVisibility}
className={"password-eye"}