以下是我的代码

import React from 'react'
import PropTypes from "prop-types";

export default function Button({ htmlType, type, disabled, action, ...props}) {
  return (
    <button type={htmlType} onClick={action}>
        {props.children}
    </button>
  )
}

Button.propTypes = {
    htmlType: PropTypes.string.isRequired,
    action: PropTypes.func,
    disabled: PropTypes.bool
};

我通过以下代码调用Button组件

 <Button disabled={true}>button title</Button>

我想在props 禁用的时候给按钮添加禁用的html属性,该怎么做?

推荐答案

您可以将If-Else语句排成一行,如下所示:

<button disabled={propsDisabled}>button title</button>

这里,propsDisabled是您可以通过props传递的变量,它是一个boolean变量,它的值为真或假.为了避免混淆,我没有使用disabled本身,但是您可以使用变量名作为disabled.

propsDisabledtrue时,该按钮将被拆卸,而当propsDisabledfalse时,该按钮不会被禁用.

Html相关问答推荐

我需要主页按钮出现在中间

在CSS中不保持圆形图像形状的边框半径属性

我如何 Select 外部html文件元素作为选项,并显示在一个div与jQuery?

如何阻止Chromecast图标出现在HTML5视频

CURL邮箱中的图像不能调整其大小

用于删除页面页眉上的超链接的CSS

Tailwind CSS:overflow-y Property Not Scrolling Unreliably to Bottom with top-[63px]

按钮之间的HTML文本居中不正确

在Firefox中,使用写入模式:Vertical-LR时,不随内容扩展的css弹性项

如何在HTML中适当地为单选按钮网格添加标签?

div 中的垂直中心表格

网格项未在同一行上对齐

如何在悬停时使用 CSS 更改许多同级元素

可以通过悬停时的自定义区域更改文本属性吗?

当作为常规图片输入时,Cloudfront分布式图像可显示,但作为背景图像不显示

如何只为 Navbar 中的一个元素提供动画,其余元素没有使用 css 的动画

输入框不是全宽

使用 CSS flexbox 和溢出顶部而不是底部

CSS Padding 将右对齐的对象推离页面

用 flexbox 和 overflow 覆盖