基于ant design组件做二次开发的例子,最好用Button举例,要有类型的继承
以下是基于ant design组件做二次开发的Button组件继承示例:
import React from 'react';
import { Button } from 'antd';
const PrimaryButton = ({ children, ...props }) => {
return (
<Button type="primary" {...props}>
{children}
</Button>
);
};
const DangerButton = ({ children, ...props }) => {
return (
<Button type="danger" {...props}>
{children}
</Button>
);
};
const CustomButton = ({ type, children, ...props }) => {
if (type === 'primary') {
return <PrimaryButton {...props}>{children}</PrimaryButton>;
} else if (type === 'danger') {
return <DangerButton {...props}>{children}</DangerButton>;
} else {
return <Button {...props}>{children}</Button>;
}
};
export default CustomButton;
在上面的代码中,我们定义了三个Button组件:PrimaryButton,DangerButton和CustomButton。其中,PrimaryButton组件继承了antd的Button组件,并设置了type为"primary"。DangerButton组件同理。CustomButton组件则根据传入的type属性,决定使用哪个Button组件。如果type为"primary",则使用PrimaryButton组件;如果type为"danger",则使用DangerButton组件;否则使用antd的Button组件。
这样,我们就可以根据需要,使用不同类型的Button组件了。例如:
import React from 'react';
import CustomButton from './CustomButton';
const App = () => {
return (
<div>
<CustomButton>Default Button</CustomButton>
<CustomButton type="primary">Primary Button</CustomButton>
<CustomButton type="danger">Danger Button</CustomButton>
</div>
);
};
export default App;
在上面的代码中,我们使用了三个CustomButton组件,分别是默认类型、primary类型和danger类型。这些Button组件继承了antd的Button组件,并根据不同的类型,设置了不同的样式。
原文地址: https://www.cveoy.top/t/topic/sy3 著作权归作者所有。请勿转载和采集!