简介
组件本身是支持原生 TypeScript 的,为了方便演示,文档使用了 Vue 3 做演示。
所有组件都是基于 Leafer UI 的 Flow 元素,所以你可以在组件中使用任何 Flow 的功能。
如果你也想封装一个组件,可以继承 Component 抽象类,然后实现 render 方法。具体代码可以参考 Button 组件。
通用属性
以 Button 组件为例,我们需要先创建一个实例。构造函数接受两个对象,第一个是 props
,第二个是 data
。
props
是 Button 组件的属性,每个组件的属性不同,该组件属性类型是 ButtonProps
。
data
是 Flow 元素的属性,类型是 IFlowInputData
,能够直接修改元素,可以不传。
ts
const button = new ElButton(
{ text: 'Hello World!', type: 'primary' },
{ x: 20, y: 20 },
);
通用方法
如果想修改组件的属性,可以使用组件提供的 setProps
方法,也可以直接修改 props
属性。
ts
const button = new ElButton({ text: 'Hello World!', type: 'primary' });
button.setProps({ loading: true });
button.props.loading = false;
如果想直接修改 Flow 元素,可以使用元素提供的 set
方法,也可以直接修改元素属性。
ts
const button = new ElButton({ text: 'Hello World!', type: 'primary' });
button.set({ x: 20 });
button.y = 20;