import { ExtractPropTypes, PropType } from 'vue';
import type { SetupContext } from 'vue';
import { IItem, TKey } from '../transfer-types';
export const transferHeaderProps = {
title: {
type: String,
default: '',
},
checked: {
type: Boolean,
default: false,
},
halfchecked: {
type: Boolean,
default: false,
},
total: {
type: Number,
default: 0,
},
checkedNum: {
type: Number,
default: 0,
},
unit: {
type: String,
default: '',
},
onChange: {
type: Function as PropType<(value: boolean) => void>,
},
search: {
type: Function as PropType<(direction: string, data: IItem[], keyword: TKey) => void>,
},
} as const;
export type TTransferHeaderProps = ExtractPropTypes<typeof transferHeaderProps>;
export const transferHeaderState = (props: TTransferHeaderProps, ctx: SetupContext) => {
* allCheckedChangeHandle: 全选处理函数
* @param value 是否全选
*/
const allCheckedChangeHandle = (value: boolean) => {
ctx.emit('change', value);
};
return {
allCheckedChangeHandle,
};
};