反应:在悬停时呈现“请填写此字段”警告

Posted

技术标签:

【中文标题】反应:在悬停时呈现“请填写此字段”警告【英文标题】:REACT: Rendering a "please fill out this field" warning On Hover 【发布时间】:2019-12-08 05:37:48 【问题描述】:

大家好。 我正在尝试在未填写电子邮件输入时发出此“警报”。我知道我将需要 onHover 处理程序,该处理程序在值 ==“”时专门呈现该框。但是,我不确定如何做到这一点,例如,如果输入尚未填写,或者是否有更好的方法,我是否应该在该位置渲染一个 div?

任何建议表示赞赏! =)

【问题讨论】:

这可能会帮助你***.com/a/14608892/7586354 【参考方案1】:

尝试这样的事情,不确定这是否能回答问题


class Test extends Component 

    constructor() 
        this.state = 
            email: '',
            showAlert: false
        
        this.handleChange = this.handleChange.bind(this);
        this.handleHover = this.handleHover.bind(this);
    

    handleChange(e) 
        this.setState(
            [e.target.name]: e.target.value
        );
    

    handleHover(e) 
        this.setState(
            showAlert: !e.target.value
        );
    

    render() 
        return(
            <div>
                <input 
                    name='email' 
                    value=this.state.email 
                    onChange=this.handleChange
                    onMouseEnter=this.handleHover  
                />

                this.state.showAlert 
                    ? <span>Please fill this field</span> 
                    : null 

            </div>
        );
    

【讨论】:

【参考方案2】:

import React,  useState  from 'react'

const InputWithToolTip = () => 
  const [text, setText] = useState("")
  const [isHovered, setIsHovered] = useState(false);
  
  return (
    <>
      <input 
        value=text
        onChange=(target: value) => setText(value)
        onMouseEnter=() => setIsHovered(true)                   
        onMouseLeave=() => setIsHovered(false)
      />
      
        isHovered &&
        <span>I'm a tool tip!</span>
      
    </>
  )

【讨论】:

【参考方案3】:

你可以在状态中维护一个变量 让我们说

state=
    showTooltip:false

在 onHover 处理程序中,您可以检查 ==="" 值并更新将重新渲染组件的状态,并根据状态值渲染工具提示警告

【讨论】:

您能否详细说明工具提示的外观?谢谢。

以上是关于反应:在悬停时呈现“请填写此字段”警告的主要内容,如果未能解决你的问题,请参考以下文章

从字符串 => 类型的映射推断反应道具类型时修复打字稿警告

做出反应。如何在没有警告的情况下将 Grid 插入 TabPanel?

警告:尝试在已呈现的*上显示View Controller

使用带有可可豆荚的本机反应时发出警告

在 HoC 中使用反应钩子时的警告

映射警告时反应唯一键