我正在尝试通过下拉菜单在 Next.js 中启用语言选择。如果链接没有嵌套在select
标签内,它们工作正常。但是,一旦它们出现,它们就不再响应了。我假设这是因为缺少事件处理程序,我认为解决方案可能相当简单,但我无法让它工作。
如果有人可以看看这个会很棒。此外,我不是在寻找通过三元运算符在两种语言之间切换的解决方案,因为我想将逻辑用于具有两种以上语言的未来项目。对我来说,坚持select
标签也很重要,因为这对于选择语言最有意义并提供更好的可访问性。
这是有效的✅</p>
{router.locales.map((language) => (
<Link
href={router.asPath}
locale={language}
scroll={false}
key={language}
>
<button type='button'>
{language === 'en' ? 'EN' : language === 'de' ? 'DE' : null}
</button>
</Link>
))}
这不工作❌</p>
<select name='languages' id='language-select'>
{router.locales.map((language) => (
<Link
href={router.asPath}
locale={language}
scroll={false}
key={language}
>
<option value={language}>
{language === 'en'
? 'EN'
: language === 'de'
? 'DE'
: null}
</option>
</Link>
))}
</select>
非常感谢您花时间阅读本文并试图帮助我,我真的很感激!