@ray-js/smart-ui-typings
Version:
@ray-js/smart-ui 智能小程序 UI 框架的类型声明文件
121 lines (120 loc) • 2.45 kB
TypeScript
import { VantComponent, VantEventHandler } from '../base';
export interface VantAreaList {
province_list: Record<number, string>;
city_list: Record<number, string>;
county_list: Record<number, string>;
}
export interface VantAreaProps {
/**
* 当前选中的省市区`code`
*/
value?: string;
/**
* 顶部栏标题
*/
title?: string;
/**
* 省市区数据
*/
'area-list'?: VantAreaList;
/**
* 省市区显示列数,3-省市区,2-省市,1-省
*
* @default 3
*/
'columns-num'?: string | number;
/**
* 列占位提示文字
*
* @default []
*/
'columns-placeholder'?: string[];
/**
* 是否显示加载状态
*
* @default false
*/
loading?: boolean;
/**
* 选项高度
*
* @default 44
*/
'item-height'?: number;
/**
* 可见的选项个数
*
* @default 6
*/
'visible-item-count'?: number;
/**
* 确认按钮文字
*
* @default '确认'
*/
'confirm-button-text'?: string;
/**
* 取消按钮文字
*
* @default '取消'
*/
'cancel-button-text'?: string;
/**
* 是否显示顶部栏
*
* @default true
*
* @since `v1.10.3`
*/
'show-toolbar'?: boolean;
}
/**
* 选中列数据
*/
export interface VantAreaColumn {
/**
* 被选中的地区编码
*/
code: string;
/**
* 被选中的地区名称
*/
name: string;
}
/**
* 基础事件详情
*/
export interface VantAreaBaseEventDetail {
/**
* 每个数据对应一列选项中被选中项的序号
*/
index: number[];
/**
* 每个数据对应一列选项中被选中的数据
*/
values: VantAreaColumn[];
}
/**
* `bind:change`事件详情
*/
export interface VantAreaChangeEventDetail extends VantAreaBaseEventDetail {
/**
* Picker 实例
*/
picker: Record<string, any>;
}
export interface VantAreaEvents {
/**
* 点击右上方完成按钮
*/
'bind:confirm'?: VantEventHandler<VantAreaBaseEventDetail>;
/**
* 点击取消按钮时
*/
'bind:cancel'?: VantEventHandler<VantAreaBaseEventDetail>;
/**
* 选项改变时触发
*/
'bind:change'?: VantEventHandler<VantAreaChangeEventDetail>;
}
export type VantArea = VantComponent<VantAreaProps, VantAreaEvents>;