import { GestureResponderEvent, StyleProp, TextStyle, ViewStyle, } from 'react-native'; import React from 'react'; import { NoticeBarProps } from '../NoticeBar/interface'; export interface FieldProps { /** * field容器样式 */ style?: StyleProp; /** * @description 标签名称 * @type string */ label?: React.ReactNode; /** * label外层容器样式 */ labelWrapperStyle?: StyleProp; /** * label容器样式 */ labelContainerStyle?: StyleProp; /** * label 样式 */ labelStyle?: StyleProp; /** * 是否必填,默认false展示“(选填)” 前提label有值 * @default false */ requiredMark?: boolean; /** * 布局 * @default vertical */ layout?: 'horizontal' | 'vertical'; /** * 展示控件下划线 * @default false */ showDividerLine?: boolean; /** * 是否为错误状态显示 * @default false */ error?: boolean; /** * 提示信息 */ message?: string; /** * message外层容器样式 */ messageWrapperStyle?: StyleProp; /** * 错误提示 */ errorMessage?: string; /** * 是否显示错误下划线 */ showErrorDividerLine?: boolean; /** * 是否显示错误icon */ showErrorIcon?: boolean; children?: React.ReactNode; /** * 无icon时容器样式 */ containerStyle?: StyleProp; /** * label 前的插槽 */ prefix?: React.ReactNode; /** * label 后的插槽 */ suffix?: React.ReactNode; /** * 是否显示疑问图标 前提label有值 */ showQuestionIcon?: boolean; /** * 点击疑问图标回调 */ onClickQuestionIcon?: (event: GestureResponderEvent) => void; /** * 通知栏属性 */ notice?: NoticeBarProps; /** * 用于聚焦做的组件 */ focusComponent?: React.ReactNode; /** * 右侧问号点击后显示的提示信息,设置后会显示右侧问号图标,并且同时点击问号图标会弹出提示信息 * 如果自定义了 onClickQuestionIcon 则不会弹出提示信息 */ tooltip?: string; /** * 右侧问号的标题 */ tooltipTitle?: string; /** * 点击问号后的确认按钮文本 */ confirmButtonText?: string; /** * 是否隐藏内置的 message 渲染 * 当设置为 true 时,Field 组件不会自动渲染 message,需要外部手动控制。Field 会自动注入 renderMessage 方法。 * @default false */ hideInternalMessage?: boolean; } export interface FieldTitleProps { /** * 标题容器样式 */ style?: StyleProp; /** * 标题前缀竖条样式 */ headerStyle?: StyleProp; /** * 标题文本 */ label?: string; /** * 标题文本样式 */ labelStyle?: StyleProp; }