我在我的reactjs应用程序中有这个:
import Link from 'react-router/lib/Link'
Run Code Online (Sandbox Code Playgroud)
一直试图禁用此链接,但这没有达到预期的效果:
<Link disable={true}/>
Run Code Online (Sandbox Code Playgroud)
它只是让它变得不可见.如何禁用(基于条件)reactjs Link?
小智 11
包含react-router上的许多问题,Link Component中没有支持禁用属性,因此您可以尝试使用此问题:
使用preventDefault()处理onclick事件.
/* YourComponent.js */
class YourComponent extends React.Component {
render() {
return (
<Link onClick={e => e.preventDefault()} />
);
}
}
Run Code Online (Sandbox Code Playgroud)
pointer-events属性/* YourComponent.js */
class YourComponent extends React.Component {
render() {
return (
<Link className='disabled-link' />
);
}
}
/* css file */
.disable-link {
pointer-events: none;
}
Run Code Online (Sandbox Code Playgroud)
或者你可以使用内联样式
/* YourComponent.js */
class YourComponent extends React.Component {
render() {
return (
<Link style={{ pointerEvents: 'none' }} />
);
}
}
Run Code Online (Sandbox Code Playgroud)
我使用的是方法2,在我的项目中对我来说更清楚.
| 归档时间: |
|
| 查看次数: |
8215 次 |
| 最近记录: |