Javascript 在react js中,当输入字段为焦点时如何更改标签颜色

Javascript 在react js中,当输入字段为焦点时如何更改标签颜色,javascript,reactjs,semantic-ui,Javascript,Reactjs,Semantic Ui,您能告诉我当输入字段在我使用的semantic UI 这是我的密码 <Form> <Form.Field> <label>First Name</label> <input placeholder="First Name" /> </Form.Field> <Form.Field> <Checkbox label="I agree to the

您能告诉我当输入字段在我使用的
semantic UI

这是我的密码

<Form>
    <Form.Field>
      <label>First Name</label>
      <input placeholder="First Name" />
    </Form.Field>
    <Form.Field>
      <Checkbox label="I agree to the Terms and Conditions" />
    </Form.Field>
    <Button type="submit">Submit</Button>
  </Form>

名字
提交

您可以使用(useState)更改标签的颜色:

工作叉-

只需重写组件,包括useState,然后在输入字段中使用onFocus事件。一旦聚焦,状态钩子将把聚焦状态修改为true,您可以使用它来应用自定义样式或类。如果有更多字段,只需添加更多的状态参数,而不是一个(本例中重点介绍)

import React,{useState}来自“React”;
从“语义ui反应”导入{按钮、复选框、表单};
const FormExampleForm=()=>{
const[focused,setFocused]=useState(false);//将false设置为初始值
返回(
名字
setFocused(true)}/>
提交
);
}
导出默认表单ExampleForm;
您可以使用(useState)更改标签的颜色:

工作叉-

只需重写组件,包括useState,然后在输入字段中使用onFocus事件。一旦聚焦,状态钩子将把聚焦状态修改为true,您可以使用它来应用自定义样式或类。如果有更多字段,只需添加更多的状态参数,而不是一个(本例中重点介绍)

import React,{useState}来自“React”;
从“语义ui反应”导入{按钮、复选框、表单};
const FormExampleForm=()=>{
const[focused,setFocused]=useState(false);//将false设置为初始值
返回(
名字
setFocused(true)}/>
提交
);
}
导出默认表单ExampleForm;
您实际上可以使用CSS选择器轻松应用CSS

div:focuswithin
在div中聚焦任何元素时应用CSS。在您的情况下,您可以为
输入组
组指定一个类,比如说
输入组
。然后使用
.input group:focus in label
选择器设置标签样式

查看代码的工作演示

我所做的只是添加了下面的样式表,它就工作了

。输入组:标签内的焦点{
颜色:红色!重要;
}
您实际上可以使用CSS选择器轻松应用CSS

div:focuswithin
在div中聚焦任何元素时应用CSS。在您的情况下,您可以为
输入组
组指定一个类,比如说
输入组
。然后使用
.input group:focus in label
选择器设置标签样式

查看代码的工作演示

我所做的只是添加了下面的样式表,它就工作了

。输入组:标签内的焦点{
颜色:红色!重要;
}

这应该在CSST中完成这应该在css中完成
import React, {useState} from "react";
import { Button, Checkbox, Form } from "semantic-ui-react";

const FormExampleForm = () => {
  const [focused, setFocused] = useState(false); // set false as initial value

  return(
    <Form>
      <Form.Field>
        <label style={{color: focused ? 'red' : ''}}>First Name</label>
        <input placeholder="First Name" onFocus={() => setFocused(true)} />
      </Form.Field>
      <Form.Field>
        <Checkbox label="I agree to the Terms and Conditions" />
      </Form.Field>
      <Button type="submit">Submit</Button>
    </Form>
  );
}

export default FormExampleForm;