我正在尝试使用select
框中的React Router Link过滤日期,其中包含4个options
。当我用路由器链接包装options
时,在select
框中没有看到值(为空),有什么主意吗?
这是我到目前为止所拥有的。
import React from 'react';
import { Link } from 'react-router-dom';
import styled from '@emotion/styled';
const Wrapper = styled.div`
display: grid;
grid-template-columns: 10% 80% 10%;
grid-template-rows: 1fr;
width: auto;
height: 40px;
margin: 10px 0;
`;
const LinkQuery = styled(Link)`
text-transform: uppercase;
text-decoration: none;
font-size: 12px;
font-weight: 700;
text-shadow: 1px 1px 1px #000000;
color: ${props => props.theme.colors.primary};
`;
export const SelectBox = styled.select`
grid-column: 2 / 3;
height: 30px;
padding: 10px;
background-color: transparent;
box-shadow: 2px 2px 2px #000000;
border: 1px solid ${props => props.theme.colors.primary};
border-radius: 5px;
color: ${props => props.theme.colors.primary};
font-size: 16px;
outline: none;
&:hover,
&:focus {
transition: 0.4s;
border: 1px solid ${props => props.theme.colors.tertiary};
transition: 0.2s;
}
`;
export default function LocationFilter() {
return (
<Wrapper>
<SelectBox>
<LinkQuery to="/">
<option>Select Location</option>
</LinkQuery>
<LinkQuery to="/?location=east">
<option>East Building</option>
</LinkQuery>
<LinkQuery to="/?location=west">
<option>West Building</option>
</LinkQuery>
<LinkQuery to="/?location=south">
<option>South Building</option>
</LinkQuery>
<LinkQuery to="/?location=north">
<option>North Building</option>
</LinkQuery>
</SelectBox>
</Wrapper>
);
}
答案 0 :(得分:1)
我找到了解决问题的方法。我使用了useHistory
的{{1}}钩子。
我的问题的功能代码如下所示。
React Router