首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我试图使我的材料-UI RaisedButton链接到外部url,但没有成功?

我试图使我的材料-UI RaisedButton链接到外部url,但没有成功?
EN

Stack Overflow用户
提问于 2016-07-25 17:20:43
回答 7查看 59.7K关注 0票数 43

作为标题状态中的问题。

玩反应,反应-路由器和材料-用户界面,在一个地方,我想做一个动作按钮在一个卡片组件链接到外部网址,就像没有成功。

我目前正在考虑添加一个事件处理程序来使用window.open,但这一定是一种更明智的方法吗?

在代码看起来像这样之前,我找到了一个解决方案。

代码语言:javascript
运行
复制
<CardActions>
   <RaisedButton
       href={this.props.url}
       label="OK"
   />
</CardActions>

解决办法非常简单:

代码语言:javascript
运行
复制
<CardActions>
   <a href={this.props.url} target="_blank">
     <RaisedButton
        label="OK"
     />
   </a>
</CardActions>
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2017-10-24 05:50:14

如果我们在react路由器链接或material按钮中添加外部链接,那么这一点很重要,我们添加'http://‘’(或者在外部url中添加https://) )。如果没有添加http,链接将无法工作。

错误的代码-

代码语言:javascript
运行
复制
<Link target="_blank" to='www.google.com'>Google</Link>

然后重定向链接

代码语言:javascript
运行
复制
localhost:3000/www.google.com

正确的代码-

如果我们想重定向使用react路由器链接,那么这是示例代码-

代码语言:javascript
运行
复制
<Link target="_blank" to='http://www.google.com'>Google</Link>

如果我们想用资料-ui按钮重定向,那么这是示例代码-

代码语言:javascript
运行
复制
<Button target="_blank" href="http://www.google.com/">Google</Button>

注意:在链接/按钮中添加了target="_blank"。这是可选的(如果我要在我的网站中添加任何外部链接,那么我想在另一个浏览器标签中打开该链接,而不是在同一个标签中)。

票数 66
EN

Stack Overflow用户

发布于 2016-07-25 17:27:56

您可以将<RaisedButton />封装到<Link />组件中,以便进行内部路由。

代码语言:javascript
运行
复制
<Link to={this.props.cardItem.resourceUrl}>
  <RaisedButton label="Ok" />
</Link>

并将其包装成简单的<a>标记,用于外部:

代码语言:javascript
运行
复制
<a href={this.props.cardItem.resourceUrl}>
  <RaisedButton label="Ok" />
</a>
票数 18
EN

Stack Overflow用户

发布于 2021-10-10 03:55:25

您应该使用目标、组件和href道具。

代码语言:javascript
运行
复制
<Button                
   target="_blank"
   component="a"
   href="http://www.google.com/"
>
 Google
</Button>
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38573892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档