默认情况下,URLParams
将根据查询参数设置组件的值(通过componentId
在 url 中查找匹配项)。但是,当使用自定义 url 时,默认值URLParams
将不起作用,因为它无法确定将哪个值传递给组件。
在这种情况下,您可以使用defaultSelected
prop 来初始化从 URL 读取的组件值。如果是next-routes
,您可以slug
从 中选择query
并将所需的值传递给SingleDropdownList
组件:
render() {
const defaultValue = this.props.url.query.slug; // or parse it to find the required value
return (
...
<SingleDropdownList
...
defaultSelected={defaultValue}. // value from url
/>
...
);
}
您还可以在使用onValueChange
prop docs选择值时更新 url :
<SingleDropdownList
...
onValueChange={(value) => Router.push('country', { slug: value })}
/>