UNPKG

@ray-js/smart-ui

Version:

轻量、可靠的智能小程序 UI 组件库

94 lines (93 loc) 2.13 kB
/// <reference types="react" /> /// <reference types="miniprogram-api-typings" /> import { SmartComponent, SmartEventHandler } from '../base'; export interface SmartDropdownItemOption { /** * 文字 */ text?: string; /** * 标识符 */ value?: string | number; /** * 左侧图标名称或图片链接 */ icon?: string; } export interface SmartDropdownItemProps { /** * 当前选中项对应的 `value` */ value?: number | string; /** * 菜单项标题 * * @default 当前选中项文字 */ title?: string; /** * 选项数组 * * @default [] */ options?: SmartDropdownItemOption[]; /** * 是否禁用菜单 * * @default false */ disabled?: boolean; /** * 标题额外类名 */ titleClass?: string; /** * 自定义弹出层样式 */ popupStyle?: React.CSSProperties; /** * 是否开启下拉菜单打开或者关闭前校验 * @default false */ useBeforeToggle?: boolean; } /** * @deprecated */ export interface SmartDropdownItemChangeEvent extends WechatMiniprogram.BaseEvent { /** * 当前选中的 value */ detail: number | string; } export interface SmartDropdownItemEvents { /** * 点击选项导致 `value` 变化时触发 */ onChange?: SmartEventHandler<number | string>; /** * 打开菜单栏时触发 */ opOpen?: SmartEventHandler; /** * 关闭菜单栏时触发 */ onClose?: SmartEventHandler; /** * 打开菜单栏且动画结束后触发 */ opOpened?: SmartEventHandler; /** * 关闭菜单栏且动画结束后触发 */ onClosed?: SmartEventHandler; /** * 下拉菜单打开或者关闭前触发,需要将use-before-toggle属性设置为true */ onBeforeToggle?: SmartEventHandler<{ status: boolean; callback: (value: boolean) => Promise<boolean>; }>; } export type SmartDropdownItem = SmartComponent<SmartDropdownItemProps, SmartDropdownItemEvents>;