14 lines
695 B
TypeScript
14 lines
695 B
TypeScript
import { h } from '@ui-arch/frame';
|
|
|
|
/*** 输入附加块包装:prefix/suffix 存在时把控件包进附加组,否则原样返回(零侵入,结构不变) ***/
|
|
export function addonWrap(
|
|
el: HTMLElement,
|
|
prefix?: string | HTMLElement,
|
|
suffix?: string | HTMLElement,
|
|
column = false, // 多行控件用纵向布局:prefix 在上、suffix 在下
|
|
): HTMLElement {
|
|
if (!prefix && !suffix) return el; // 卫语句:无附加不包裹
|
|
const addon = (v?: string | HTMLElement) => (v == null ? null : h('span', { class: 'ua-input-addon' }, v));
|
|
return h('div', { class: column ? 'ua-input-group ua-input-group-column' : 'ua-input-group' }, addon(prefix), el, addon(suffix));
|
|
}
|