上一节,我们已经基本实现了按钮组件,但是还不够完善,因为我们的组件并未内置图标,像antd就可以通过icon属性显示一个图标按钮。这一节就来实现它
需求分析
添加icon属性,用来显示不同的icon图标,并且支持传递字符串或对象,对象形式将用来进行更多控制
添加loading属性,标识按钮加载中
基本实现
增加类型定义

(增加了loading和icon属性,其中icon属性使用联合类型标识可选,当为IconConfig时表示传入的是对象形式,否则是字符串形式)
增加类名标识

当icon或loading属性存在时,增加su-btn-icon标识,对应的css如下

处理icon渲染

(使用断言标识不同类型的icon传参)
该函数将在按钮文本前被调用,即

使用

