javascript - 输入处于焦点状态时的调节器模态渲染不起作用
问题描述
在我的反应项目中,我希望在输入字段处于悬停状态时弹出一个模式。我正在使用 react-bootstrap 模式。但我遇到的问题是它只是在输入处于焦点状态时显示的模式按钮。当输入被聚焦时,模式应该会自动弹出。我的代码如下。请协助
应用组件
import React, { useState, useEffect } from "react";
import stays from "./Components/stays.json";
import FancyModalButton from "./Components/FancyModalButton";
export default function SearchGuest() {
const [Data, setData] = useState([]);
const [filteredData, setFilteredData] = useState(Data);
const [hasFocus, setFocus] = useState(false);
useEffect(() => {
setData(stays);
setFilteredData(stays);
}, []);
return (
<>
<form action="">
{hasFocus ? <FancyModalButton /> : null}
<input
onFocus={() => setFocus(true)}
onBlur={() => setFocus(false)}
type="text"
name="guest"
placeholder="text"
style={{ border: "1px solid yellow" }}
/>
<input type="number" name="location" placeholder="number" />
<button>Search</button>
</form>
{console.log(filteredData)}
</>
);
}
模态组件
import React, { useState } from "react";
// import Modal from "styled-react-modal";
import { Button, Modal } from "react-bootstrap";
export default function FancyModalButton() {
const [show, setShow] = useState(false);
const handleClose = () => setShow(false);
const handleShow = () => setShow(true);
return (
<>
<Button variant="primary" onClick={handleShow}>
Modal
</Button>
<Modal show={show} onHide={handleClose}>
<Modal.Header closeButton>
<Modal.Title>Modal heading</Modal.Title>
</Modal.Header>
<Modal.Body>Woohoo, you're reading this text in a modal!</Modal.Body>
<Modal.Footer>
<Button variant="secondary" onClick={handleClose}>
Close
</Button>
<Button variant="primary" onClick={handleClose}>
Save Changes
</Button>
</Modal.Footer>
</Modal>
</>
);
}
我所拥有的形象
解决方案
推荐阅读
- r - 如何将基于字符串匹配的数据移动到新列?
- c# - EntityFramework 和 oracle 包含在 Where 子句中不使用变量
- java - 如果 EDT 是一个单独的线程,为什么在这个例子中 invokeLater 等待主线程完成?
- latex - 参考书目未显示在背页中
- flutter - Flutter:如果TextField小部件未更改,如何将初始化值作为最终值
- r - dplyr:将变量作为参数传递给函数
- sql-server - 如何在 SQL Server 中对尚不存在的 SELECT 行进行共享锁定?
- sql - 如何在 TimescaleDB 中同时查询 Min/Max 值和日期(使用 time_bucket)
- angular - 恢复滚动位置在角度 10 中不起作用
- javascript - 如何重构 JavaScript 中的重复代码?(包括阵列)