mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-04-06 03:57:59 +08:00
49 lines
1.0 KiB
TypeScript
49 lines
1.0 KiB
TypeScript
import { use } from '../utils';
|
|
import { inherit } from '../utils/functional';
|
|
import Cell from '../cell';
|
|
import Switch, { SwitchEvents } from '../switch';
|
|
import { switchProps, SharedSwitchProps } from '../switch/shared';
|
|
|
|
// Types
|
|
import { CreateElement, RenderContext } from 'vue/types';
|
|
import { DefaultSlots } from '../utils/use/sfc';
|
|
|
|
export type SwitchCellProps = SharedSwitchProps & {
|
|
size: string;
|
|
title?: string;
|
|
border?: boolean;
|
|
};
|
|
|
|
const [sfc, bem] = use('switch-cell');
|
|
|
|
function SwitchCell(
|
|
h: CreateElement,
|
|
props: SwitchCellProps,
|
|
slots: DefaultSlots,
|
|
ctx: RenderContext<SwitchCellProps>
|
|
) {
|
|
return (
|
|
<Cell
|
|
center
|
|
title={props.title}
|
|
border={props.border}
|
|
class={bem()}
|
|
{...inherit(ctx)}
|
|
>
|
|
<Switch {...{ props, on: ctx.listeners }} />
|
|
</Cell>
|
|
);
|
|
}
|
|
|
|
SwitchCell.props = {
|
|
...switchProps,
|
|
title: String,
|
|
border: Boolean,
|
|
size: {
|
|
type: String,
|
|
default: '24px'
|
|
}
|
|
};
|
|
|
|
export default sfc<SwitchCellProps, SwitchEvents>(SwitchCell);
|