绘图器
@cloud-ru/ds-drawer -=YTET -伊甸园字幕组=- 翻译:.
Пакет @cloud-ru/ds-drawer предоставляет:готовую也 Drawer {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢 DrawerCustom для.
- 绘图器 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080} - \fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080} - \fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080} - \fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080} - 百分之九十,请回答.
- 抽屉 . . . . .
DrawerCustom.Header, (中文(简体) ),.Body, (中文(简体) ),.Footerили.
Установка
pnpm add @cloud-ru/ds-drawer
import { Drawer, DrawerCustom, POSITION, WIDTH } from '@cloud-ru/ds-drawer'
Смотри
- 模式 . . . . .
- 过量 {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得怎么样.
绘图器
Панель,выезжающая也. шапка也.
Панель,выезжающая也. дополнительного也. Drawer собирает(медиа,заголовок,后出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出入出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出入出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 DrawerCustom。 。 。 .
Когда
- {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得怎么样.
- {\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}♪######################### ###########################################################################################################################################################################################################.
- {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢.
- {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢
nestedDrawer。 。 。 .
Когда не нужен:критическое也 Modal), всплывающий с (Popover(原始内容存档于2018-09-31) (中文(简体) ). ).
Примеры
Базовое
打开/关闭,页脚 ButtonGroup。 。 。 .
import { Button, ButtonGroup } from '@cloud-ru/ds-button';
import { Drawer } from '@cloud-ru/ds-drawer';
import { useState } from 'react';
export function Basic() {
const [open, setOpen] = useState(false);
const close = () => setOpen(false);
return (
<>
<Button label='Открыть' appearance='primary' view='filled' onClick={() => setOpen(true)} />
<Drawer
open={open}
position='right'
onClose={close}
title='Заголовок'
subtitle='Короткое пояснение сценария'
content='Основной контент тела. Сюда помещается форма, предупреждение или подробный текст.'
footer={
<ButtonGroup
primaryAction={{ label: 'Продолжить', view: 'filled', onClick: close }}
secondaryAction={{ label: 'Отмена', appearance: 'neutral', view: 'outline', onClick: close }}
/>
}
/>
</>
);
}
Критическое
关键初级,中性轮廓二级.
import { Button, ButtonGroup } from '@cloud-ru/ds-button';
import { Drawer } from '@cloud-ru/ds-drawer';
import { useState } from 'react';
export function WithFooter() {
const [open, setOpen] = useState(false);
const close = () => setOpen(false);
return (
<>
<Button label='Удалить…' appearance='critical' view='outline' onClick={() => setOpen(true)} />
<Drawer
open={open}
position='right'
onClose={close}
title='Удалить запись'
subtitle='Действие необратимо.'
content='После подтверждения запись и все её ссылки исчезнут из списка.'
footer={
<ButtonGroup
primaryAction={{
label: 'Удалить',
appearance: 'critical',
view: 'filled',
onClick: close,
}}
secondaryAction={{
label: 'Отмена',
appearance: 'neutral',
view: 'outline',
onClick: close,
}}
/>
}
/>
</>
);
}
С -слотом -слотом
media {\fn黑体\fs20\shad2\2ah82\3ah20\4ah33\fscx95\3ch592001\be1}你觉得呢.
import { Button } from '@cloud-ru/ds-button';
import { Drawer } from '@cloud-ru/ds-drawer';
import { useState } from 'react';
export function WithMedia() {
const [open, setOpen] = useState(false);
const close = () => setOpen(false);
return (
<>
<Button label='Открыть онбординг' appearance='primary' view='filled' onClick={() => setOpen(true)} />
<Drawer
open={open}
position='right'
width='m'
onClose={close}
media={
<div
style={{
height: 200,
background: 'linear-gradient(135deg, rgb(102 126 234), rgb(118 75 162))',
}}
/>
}
title='Добро пожаловать'
subtitle='Кратко о том, что изменилось в этой версии.'
content='Список ключевых улучшений и ссылки на подробности могут размещаться в теле.'
/>
</>
);
}
底页
position="bottom" + 键 heightAuto - 。 。 。 。 .
import { Button } from '@cloud-ru/ds-button';
import { Drawer } from '@cloud-ru/ds-drawer';
import { useState } from 'react';
export function HeightAuto() {
const [open, setOpen] = useState(false);
const close = () => setOpen(false);
return (
<>
<Button label='Открыть bottom sheet' appearance='primary' view='filled' onClick={() => setOpen(true)} />
<Drawer
open={open}
position='bottom'
heightAuto
onClose={close}
title='Bottom sheet'
subtitle='Высота рассчитывается по контенту'
content='Подходит для компактных подтверждений на мобильных устройствах.'
/>
</>
);
}
QQ 绘图器
Родитель.
import { Button } from '@cloud-ru/ds-button';
import { Drawer } from '@cloud-ru/ds-drawer';
import { useState } from 'react';
export function NestedDrawer() {
const [outerOpen, setOuterOpen] = useState(false);
const [innerOpen, setInnerOpen] = useState(false);
const closeAll = () => {
setInnerOpen(false);
setOuterOpen(false);
};
return (
<>
<Button label='Открыть родительский' appearance='primary' view='filled' onClick={() => setOuterOpen(true)} />
<Drawer
open={outerOpen}
position='right'
width='m'
onClose={closeAll}
title='Родительский Drawer'
subtitle='При открытии вложенного — родитель сдвигается влево.'
content={
<Button label='Открыть вложенный' appearance='primary' view='outline' onClick={() => setInnerOpen(true)} />
}
nestedDrawer={
<Drawer
open={innerOpen}
position='right'
width='s'
onClose={() => setInnerOpen(false)}
title='Вложенный Drawer'
subtitle='Кнопка «назад» возвращает к родителю'
onBackButtonClick={() => setInnerOpen(false)}
content='Вложенный Drawer рендерится через проп nestedDrawer родителя.'
/>
}
/>
</>
);
}
道具
绘图程序
| Prop | 类型 | 默认 | 说明 |
|---|---|---|---|
additionalButton | BottomSheetActionButton | —— 说 | (третья) Button 页:1 view='simple', (中文(简体) ), appearance='neutral') (中文(简体) ). |
approveButton | BottomSheetActionButton | —— 说 | . . . . Button 页:1 view='filled', (中文(简体) ), appearance='primary') (中文(简体) ). |
cancelButton | BottomSheetActionButton | —— 说 | . . . Button (по view='outline', (中文(简体) ), appearance='neutral') (中文(简体) ). |
children | string | number | boolean | ReactElement<any, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | null | undefined | —— 说 | |
className | string | —— 说 | CSS - класс элемента с с 支助科 |
closeOnPopstate | boolean | —— 说 | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 |
container | string | HTMLElement | —— 说 | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你说什么? - 身体状况 |
content | ReactNode | —— 说 | 体 (альтернатива) children) (中文(简体) ). |
contentRef | Ref<HTMLElement> | —— 说 | Ссылка(一作например. |
data-test-id | string | —— 说 | |
disableMotions | boolean | false | Отключить |
footer | (ReactElement<any, string | JSXElementConstructor<any>> & (string | number | boolean | ReactElement<any, string | JSXElementConstructor<any>> | Iterable<...> | ReactPortal | null)) | —— 说 | Футер Произвольный. Приоритетнее approveButton 编号 : cancelButton 编号 : additionalButton。 。 。 . |
footerActionsOrientation | "horizontal" | "vertical" | 'horizontal' | Ориентация. {\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}你觉得怎样 footer。 。 。 . |
heightAuto | boolean | false | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 position: "top" | "bottom") (中文(简体) ). |
media | ReactNode | —— 说 | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 |
nestedDrawer | DrawerProps | —— 说 | QQ 绘图器 |
onBackButtonClick | (() => void) | —— 说 | 回叫QQ回叫 (слева:"слева"). {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}请回电 Button view='function' icon={<ArrowLeftSVG />}。 。 。 . |
onClose | () => void | —— 说 | Колбэк |
onSnapIndexChange | ((snapIndex: number) => void) | —— 说 | 回叫 QQ snap' QQ (XQ swipe-QQQ 点击 QQ UI). {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}我被控制着 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}我被控制着 snapIndex。 。 。 . |
open | boolean | —— 说 | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢. |
position | "bottom" | "left" | "right" | "top" | —— 说 | Расположение |
rootClassName | string | —— 说 | SS класс |
safeAreaBottom | boolean | true | IOS家用指示器 \ Android导航栏。 Размер-токен safeArea.bottom.minHeight, на с с env(safe-area-inset-bottom) - 内置. |
safeAreaTop | boolean | true | 安全区域 iOS Notch / status-bar. Размер-токен safeArea.top.minHeight, (中文(简体) ), {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢 env(safe-area-inset-top) - 内置。 Применяется,только也 工作表 工作表 工作表 工作表. |
showBlackout | boolean | true | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 |
showButtonClosed | boolean | true | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 |
slotAfterTitle | ReactNode | —— 说 | QQ 标题, QuestionTooltip из @cloud-ru/ds-tooltip) (中文(简体) ). |
slotSecondTitle | ReactNode | —— 说 | 时间轴: SearchBar, (中文(简体) ), SegmentControl или Filter。 。 。 . 说吧 secondWrapper {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你应该知道 {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你是谁 bottomSheet, (中文(简体) ), subHeadlineWrapper {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你应该知道 {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你是谁 window (模式/抽屉). |
snapIndex | number | —— 说 | 被控制着的... Если sheet sheet sheet; 刷上/下 onSnapIndexChange——消费者 передать. |
snapPoints | SnapPoint | —— 说 | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? По undefined —— 说 工作表 height: auto {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}别这样. Пример: [0.5, 1] - 工作表 \ \ \ \ \ \ ,拖动 \ \ \ \ qq全视图端口;拖动qqq 0.5 {\fn华文仿宋\fs16\1chd1d1d1}我... {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你还好吧 {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢 - строго по возрастанию: 0 - ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++; - ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. ['50%', 0.5] {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢 одну → дубль; - 说吧 'fit-content' {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}请说 snapPoints) (中文(简体) ) {\fn黑体\fs20\shad2\2ah82\3ah20\4ah33\fscx95\3ch592001\be1}你觉得呢. |
subtitle | ReactNode | —— 说 | 标题. |
swipeEnabled | boolean | true | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}我需要你帮忙 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}我需要你的帮助. При swipeEnabled=false -=ytet -伊甸园字幕组=- 翻译: snapIndex 说吧. |
title | ReactNode | —— 说 | Заголовок. 说吧 title-l 床单, headline-s qq窗口(模式/绘图). |
truncate | { title?: number; subtitle?: number; } | undefined | —— 说 | Усечение title编号 :subtitle через TruncateString (число. Применяется {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得怎么样? * 窗口(模式/绘图), {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢. |
width | Width | 's' | Ширина (только:"左"作"右" |
withDividers | boolean | false | QQ手机:QQQ/QQ/页". |
相关类型
绘图程序
| Prop | 类型 | 默认 | 说明 |
|---|---|---|---|
additionalButton | BottomSheetActionButton | —— 说 | (третья) Button 页:1 view='simple', (中文(简体) ), appearance='neutral') (中文(简体) ). |
approveButton | BottomSheetActionButton | —— 说 | . . . . Button 页:1 view='filled', (中文(简体) ), appearance='primary') (中文(简体) ). |
cancelButton | BottomSheetActionButton | —— 说 | . . . Button (по view='outline', (中文(简体) ), appearance='neutral') (中文(简体) ). |
children | string | number | boolean | ReactElement<any, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | null | undefined | —— 说 | |
className | string | undefined | —— 说 | CSS - класс элемента с с 支助科 |
closeOnPopstate | boolean | undefined | —— 说 | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 |
container | string | HTMLElement | undefined | —— 说 | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你说什么? - 身体状况 |
content | string | number | boolean | ReactElement<any, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | null | undefined | —— 说 | 体 (альтернатива) children) (中文(简体) ). |
contentRef | Ref<HTMLElement> | undefined | —— 说 | Ссылка(一作например. |
data-test-id | string | undefined | —— 说 | |
disableMotions | boolean | undefined | —— 说 | Отключить |
footer | (ReactElement<any, string | JSXElementConstructor<any>> & (string | number | boolean | ReactElement<any, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | null)) | undefined | —— 说 | Футер Произвольный. Приоритетнее approveButton 编号 : cancelButton 编号 : additionalButton。 。 。 . |
footerActionsOrientation | "horizontal" | "vertical" | —— 说 | Ориентация. {\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}你觉得怎样 footer。 。 。 . |
heightAuto | boolean | undefined | —— 说 | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 position: "top" | "bottom") (中文(简体) ). |
media | string | number | boolean | ReactElement<any, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | null | undefined | —— 说 | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 |
nestedDrawer | DrawerProps | —— 说 | QQ 绘图器 |
onBackButtonClick | (() => void) | undefined | —— 说 | 回叫QQ回叫 (слева:"слева"). {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}请回电 Button view='function' icon={<ArrowLeftSVG />}。 。 。 . |
onClose | () => void | —— 说 | Колбэк |
onSnapIndexChange | ((snapIndex: number) => void) | undefined | —— 说 | 回叫 QQ snap' QQ (XQ swipe-QQQ 点击 QQ UI). {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}我被控制着 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}我被控制着 snapIndex。 。 。 . |
open | boolean | —— 说 | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢. |
position | "bottom" | "left" | "right" | "top" | —— 说 | Расположение |
rootClassName | string | undefined | —— 说 | SS класс |
safeAreaBottom | boolean | undefined | —— 说 | IOS家用指示器 \ Android导航栏。 Размер-токен safeArea.bottom.minHeight, на с с env(safe-area-inset-bottom) - 内置. |
safeAreaTop | boolean | undefined | —— 说 | 安全区域 iOS Notch / status-bar. Размер-токен safeArea.top.minHeight, (中文(简体) ), {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢 env(safe-area-inset-top) - 内置。 Применяется,только也 工作表 工作表 工作表 工作表. |
showBlackout | boolean | undefined | —— 说 | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 |
showButtonClosed | boolean | undefined | —— 说 | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 |
slotAfterTitle | string | number | boolean | ReactElement<any, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | null | undefined | —— 说 | QQ 标题, QuestionTooltip из @cloud-ru/ds-tooltip) (中文(简体) ). |
slotSecondTitle | string | number | boolean | ReactElement<any, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | null | undefined | —— 说 | 时间轴: SearchBar, (中文(简体) ), SegmentControl или Filter。 。 。 . 说吧 secondWrapper {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你应该知道 {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你是谁 bottomSheet, (中文(简体) ), subHeadlineWrapper {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你应该知道 {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你是谁 window (模式/抽屉). |
snapIndex | number | undefined | —— 说 | 被控制着的... Если sheet sheet sheet; 刷上/下 onSnapIndexChange——消费者 передать. |
snapPoints | SnapPoint | —— 说 | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? По undefined —— 说 工作表 height: auto {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}别这样. Пример: [0.5, 1] - 工作表 \ \ \ \ \ \ ,拖动 \ \ \ \ qq全视图端口;拖动qqq 0.5 {\fn华文仿宋\fs16\1chd1d1d1}我... {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你还好吧 {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢 - строго по возрастанию: 0 - ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++; - ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. ['50%', 0.5] {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢 одну → дубль; - 说吧 'fit-content' {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}请说 snapPoints) (中文(简体) ) {\fn黑体\fs20\shad2\2ah82\3ah20\4ah33\fscx95\3ch592001\be1}你觉得呢. |
subtitle | string | number | boolean | ReactElement<any, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | null | undefined | —— 说 | 标题. |
swipeEnabled | boolean | undefined | —— 说 | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}我需要你帮忙 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}我需要你的帮助. При swipeEnabled=false -=ytet -伊甸园字幕组=- 翻译: snapIndex 说吧. |
title | string | number | boolean | ReactElement<any, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | null | undefined | —— 说 | Заголовок. 说吧 title-l 床单, headline-s qq窗口(模式/绘图). |
truncate | { title?: number; subtitle?: number; } | undefined | —— 说 | Усечение title编号 :subtitle через TruncateString (число. Применяется {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得怎么样? * 窗口(模式/绘图), {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢. |
width | Width | —— 说 | Ширина (только:"左"作"右" |
withDividers | boolean | undefined | —— 说 | QQ手机:QQQ/QQ/页". |
-
Position=:"bottom"|"left"|"right"|"top" -
Width=:"l"|"m"|"s"
Адаптивность
Drawer ——"с"("地上"-"花"). {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 AdaptiveProvider 页:1 @cloud-ru/ds-adaptiveAPI :
- 桌面 ————————————————————————————————————————————
left编号 :right编号 :top编号 :bottom) (中文(简体) ). - 移动 - контент рендерится рендерится
BottomSheetиз@cloud-ru/ds-bottom-sheet(панель也.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ************************ <AdaptiveProvider> [永久失效連結] (中文(简体) ). Пропа layoutType у:источник也.
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢
- Форс,не:
- Поддерево:
import { AdaptiveProvider } from '@cloud-ru/ds-adaptive' <AdaptiveProvider layoutType='mobile'> <Drawer open={open} onClose={close} content={…} /> </AdaptiveProvider> - – Отдельный –
withLayoutType(模块-镜, сахар:import { withLayoutType } from '@cloud-ru/ds-adaptive' import { Drawer } from '@cloud-ru/ds-drawer' const MobileDrawer = withLayoutType(Drawer, 'mobile')
Платформенные
{\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}♪ {\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}♪ {\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}♪ {\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}♪ BottomSheet (原始内容存档于2018-09-28). QQ. ========================================================================================================================================================= DrawerProps。 。 。 .
| Пропы | 桌面 | 移动 |
|---|---|---|
position, (中文(简体) ), width, (中文(简体) ), heightAuto, (中文(简体) ), nestedDrawer | используется | игнорируется |
title, (中文(简体) ), subtitle, (中文(简体) ), slotAfterTitle, (中文(简体) ), onBackButtonClick, (中文(简体) ), media, (中文(简体) ), content, (中文(简体) ), footer | используется | используется |
open, (中文(简体) ), onClose, (中文(简体) ), showBlackout, (中文(简体) ), container, (中文(简体) ), closeOnPopstate, (中文(简体) ), className, (中文(简体) ), rootClassName | используется | используется |
Подробнее модели- 适应性。 。 。 .
抽屉
-=YTET -伊甸园字幕组=- 翻译:.
DrawerCustom {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢 Drawer{\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}你觉得怎么样 {\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}你觉得呢 DrawerCustom.Header, (中文(简体) ), .Body, (中文(简体) ), .Footer или.
Используйте DrawerCustom, 翻译 : Drawer - недостаточно, нужна, действиями, футер.
Когда
- Стандартная/футер
Drawer{\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得怎么样. - {\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}你觉得呢.
- Кастомные(一作например.
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 Drawer -=ytet -伊甸园字幕组=- 翻译:.
Анатомия
职位
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 right - 座边 -- -- 座边 -- -- 座边, left {\fn黑体\fs20\shad2\2ah82\3ah20\4ah33\fscx95\3ch592001\be1}你应该知道 {\fn黑体\fs20\shad2\2ah82\3ah20\4ah33\fscx95\3ch592001\be1}, top编号 :bottom -=ytet -伊甸园字幕组=- 翻译:.
宽度
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 position: left | right数字 : s {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}我.., m - дефолт, l {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得怎么样.
Примеры
Ручная
页: 1.
import { Button } from '@cloud-ru/ds-button';
import { DrawerCustom } from '@cloud-ru/ds-drawer';
import { useState } from 'react';
export function CustomComposition() {
const [open, setOpen] = useState(false);
const close = () => setOpen(false);
return (
<>
<Button label='Открыть custom drawer' appearance='primary' view='filled' onClick={() => setOpen(true)} />
<DrawerCustom open={open} position='right' width='s' onClose={close}>
<DrawerCustom.Header title='Ручная композиция' subtitle='Header + Body + Footer собираются вручную.' />
<DrawerCustom.Body
content={
<div style={{ padding: 24 }}>
<p>Тело Drawer собирается из произвольной разметки.</p>
<p>Скролл включается автоматически при большом содержимом.</p>
</div>
}
/>
<DrawerCustom.Footer>
<div style={{ display: 'flex', gap: 8, justifyContent: 'flex-end' }}>
<Button label='Закрыть' appearance='neutral' view='outline' onClick={close} />
<Button label='Подтвердить' appearance='primary' view='filled' onClick={close} />
</div>
</DrawerCustom.Footer>
</DrawerCustom>
</>
);
}
道具
抽取程序
| Prop | 类型 | 默认 | 说明 |
|---|---|---|---|
children | string | number | boolean | ReactElement<any, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | null | undefined | —— 说 | |
className | string | —— 说 | CSS - класс элемента с с |
closeOnPopstate | boolean | —— 说 | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 |
container | string | HTMLElement | —— 说 | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你说什么? - 身体状况 |
data-test-id | string | —— 说 | |
disableMotions | boolean | false | Отключить |
footer | ReactElement<any, string | JSXElementConstructor<any>> | —— 说 | Футер |
heightAuto | boolean | false | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 position: "top" | "bottom") (中文(简体) ). |
nestedDrawer | DrawerCustomProps | —— 说 | QQ 绘图器 |
onClose | () => void | —— 说 | Колбэк |
open | boolean | —— 说 | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢. |
position | "bottom" | "left" | "right" | "top" | —— 说 | Расположение |
push | boolean | PushConfig | —— 说 | # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # |
resizable | ResizableMax | 's' | Ширина (только:"左"作"右" |
rootClassName | string | —— 说 | SS класс |
safeAreaBottom | boolean | true | IOS家用指示器 \ Android导航栏。 Размер-токен safeArea.bottom.minHeight, на с с env(safe-area-inset-bottom) - 内置. |
safeAreaTop | boolean | true | 安全区域 iOS Notch / status-bar. Размер-токен safeArea.top.minHeight, (中文(简体) ), {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢 env(safe-area-inset-top) - 内置。 Применяется,только也 工作表 工作表 工作表 工作表. |
showBlackout | boolean | true | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 |
showButtonClosed | boolean | true | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 |
snapPoints | SnapPoint | —— 说 | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? По undefined —— 说 工作表 height: auto {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}别这样. Пример: [0.5, 1] - 工作表 \ \ \ \ \ \ ,拖动 \ \ \ \ qq全视图端口;拖动qqq 0.5 {\fn华文仿宋\fs16\1chd1d1d1}我... {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你还好吧 {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢 - строго по возрастанию: 0 - ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++; - ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. ['50%', 0.5] {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢 одну → дубль; - 说吧 'fit-content' {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}请说 snapPoints) (中文(简体) ) {\fn黑体\fs20\shad2\2ah82\3ah20\4ah33\fscx95\3ch592001\be1}你觉得呢. |
swipeEnabled | boolean | true | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}我需要你帮忙 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}我需要你的帮助. При swipeEnabled=false -=ytet -伊甸园字幕组=- 翻译: snapIndex 说吧. |
width | Width | 's' | Ширина (только:"左"作"右" |
相关类型
抽取程序
| Prop | 类型 | 默认 | 说明 |
|---|---|---|---|
children | string | number | boolean | ReactElement<any, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | null | undefined | —— 说 | |
className | string | undefined | —— 说 | CSS - класс элемента с с |
closeOnPopstate | boolean | undefined | —— 说 | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 |
container | string | HTMLElement | undefined | —— 说 | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你说什么? - 身体状况 |
data-test-id | string | undefined | —— 说 | |
disableMotions | boolean | undefined | —— 说 | Отключить |
footer | ReactElement<any, string | JSXElementConstructor<any>> | undefined | —— 说 | Футер |
heightAuto | boolean | undefined | —— 说 | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 position: "top" | "bottom") (中文(简体) ). |
nestedDrawer | DrawerCustomProps | —— 说 | QQ 绘图器 |
onClose | () => void | —— 说 | Колбэк |
open | boolean | —— 说 | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢. |
position | "bottom" | "left" | "right" | "top" | —— 说 | Расположение |
push | boolean | PushConfig | undefined | —— 说 | # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # |
resizable | ResizableMax | —— 说 | Ширина (только:"左"作"右" |
rootClassName | string | undefined | —— 说 | SS класс |
safeAreaBottom | boolean | undefined | —— 说 | IOS家用指示器 \ Android导航栏。 Размер-токен safeArea.bottom.minHeight, на с с env(safe-area-inset-bottom) - 内置. |
safeAreaTop | boolean | undefined | —— 说 | 安全区域 iOS Notch / status-bar. Размер-токен safeArea.top.minHeight, (中文(简体) ), {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢 env(safe-area-inset-top) - 内置。 Применяется,только也 工作表 工作表 工作表 工作表. |
showBlackout | boolean | undefined | —— 说 | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 |
showButtonClosed | boolean | undefined | —— 说 | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 |
snapPoints | SnapPoint | —— 说 | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? По undefined —— 说 工作表 height: auto {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}别这样. Пример: [0.5, 1] - 工作表 \ \ \ \ \ \ ,拖动 \ \ \ \ qq全视图端口;拖动qqq 0.5 {\fn华文仿宋\fs16\1chd1d1d1}我... {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你还好吧 {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢 - строго по возрастанию: 0 - ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++; - ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. ['50%', 0.5] {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢 одну → дубль; - 说吧 'fit-content' {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}请说 snapPoints) (中文(简体) ) {\fn黑体\fs20\shad2\2ah82\3ah20\4ah33\fscx95\3ch592001\be1}你觉得呢. |
swipeEnabled | boolean | undefined | —— 说 | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}我需要你帮忙 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}我需要你的帮助. При swipeEnabled=false -=ytet -伊甸园字幕组=- 翻译: snapIndex 说吧. |
width | Width | —— 说 | Ширина (только:"左"作"右" |
-
Position=:"bottom"|"left"|"right"|"top" -
ResizableMax=:number | "full" -
Width=:"l"|"m"|"s"