@uiw/react-native
Version:
UIW for React Native
92 lines (80 loc) • 2.52 kB
Markdown
ActionSheet 动作面板
---
该组件提供了一种动作面板, 底部缓缓出现
```jsx
import { Fragment, useState } from 'react';
import { ActionSheet, Button,ActionSheetItem } from '@uiw/react-native';
function Demo() {
const [visible, setVisible] = useState(false)
return (
<Fragment>
<Button onPress={()=>setVisible(true)}>打开 ActionSheet</Button>
<ActionSheet
visible={visible}
>
<ActionSheetItem onPress={()=>console.log('按钮一')}>按钮一</ActionSheetItem>
<ActionSheetItem onPress={()=>console.log('按钮二')}>按钮二</ActionSheetItem>
</ActionSheet>
</Fragment>
);
}
```
```jsx
import { Fragment, useState } from 'react';
import { ActionSheet, Button,ActionSheetItem } from '@uiw/react-native';
function Demo() {
const [visible, setVisible] = useState(false)
return (
<Fragment>
<Button onPress={()=>setVisible(true)}>打开 ActionSheet</Button>
<ActionSheet
visible={visible}
onCancel={true}
cancelText='取消'
>
<ActionSheetItem onPress={()=>console.log('按钮一')}>按钮一</ActionSheetItem>
<ActionSheetItem onPress={()=>console.log('按钮二')}>按钮二</ActionSheetItem>
</ActionSheet>
</Fragment>
);
}
```
```ts
import { StyleProp, ViewStyle } from 'react-native';
import { ModalProps } from '@uiw/react-native';
export interface DividerStyle {
itemDivider?: StyleProp<ViewStyle>,
actionDivider?: StyleProp<ViewStyle>,
}
export interface ActionSheetProps extends ModalProps {
/** 点击蒙层是否关闭 */
onCancel?: Boolean;
/** 分割线样式 */
dividerStyle?: DividerStyle;
/** 取消的容器样式 */
containerStyle?: StyleProp<ViewStyle>;
/** 动作在被触摸操作激活时以多少不透明度显示 默认 1 */
activeOpacity?: number;
/** 动作有触摸操作时显示出来的底层的颜色 默认 #f1f1f1 */
underlayColor?: string;
/** 取消的文本样式 */
textStyle?: StyleProp<TextStyle>;
/** 取消的文本 */
cancelText?: React.ReactNode;
}
```
```ts
import { TextStyle, StyleProp, ViewStyle } from 'react-native';
export interface ActionSheetItemProps {
/** 容器样式 */
containerStyle?: StyleProp<ViewStyle>;
/** 文本样式 */
textStyle?: StyleProp<TextStyle>;
/** 点击 ActionSheetItem 触发的事件 */
onPress?: ((event: GestureResponderEvent) => void),
}
```