Last Updated on : 2024-06-05 03:14:33download
Popup
is a collection of commonly used pop-up windows for displaying business-related components.
Note: for more information, see Demo.
Popup.countdown({
title: "Countdown",
cancelText: "Cancel",
confirmText: "Confirm",
hourText: "Hour",
minuteText: "Minute",
value: this.state.countdown,
onMaskPress: ({ close }) => {
close();
},
onConfirm: (data, { close }) => {
this.setState({ countdown: data.hour * 60 + data.minute });
close();
},
});
Popup.datePicker({
title: "Birthday",
cancelText: "Cancel",
confirmText: "Confirm",
hourText: "Hour",
minuteText: "Minute",
defaultDate: this.state.date,
mode: "datetime",
minDate: new Date(1918, 0, 1, 0, 0, 0),
maxDate: new Date(2018, 11, 31, 23, 59, 59),
onMaskPress: ({ close }) => {
close();
},
onConfirm: (date, { close }) => {
this.setState({ date });
close();
},
});
Popup.timerPicker({
title: "Time period selection",
cancelText: "Cancel",
confirmText: "Confirm",
startTime: this.state.timerPickerValue[0],
endTime: this.state.timerPickerValue[1],
is12Hours: true,
onMaskPress: ({ close }) => {
close();
},
onConfirm: ({ startTime, endTime }, { close }) => {
this.setState({ timerPickerValue: [startTime, endTime] });
close();
},
});
Popup.numberSelector({
title: "Temperature adjustment (°C)",
cancelText: "Cancel",
confirmText: "Confirm",
value: this.state.numberValue,
min: 0,
max: 50,
onMaskPress: ({ close }) => {
close();
},
onConfirm: (value, { close }) => {
this.setState({ numberValue: value });
close();
},
});
Popup.list({
type: "switch",
dataSource: [
{
key: "1",
title: "1",
value: "1",
},
{
key: "2",
title: "2",
value: "2",
},
],
title: "List",
cancelText: "Cancel",
confirmText: "Confirm",
showBack: true,
onBack: ({ close }) => {
console.log('I am Popup.list.radio');
close();
},
value: this.state.listValue,
onMaskPress: ({ close }) => {
close();
},
onConfirm:(value, { close }) => {
this.setState({ listValue: value });
close();
},
});
picker
Popup.picker({
dataSource: [
{
label: "1",
value: "1",
},
{
label: "2",
value: "2",
},
],
title: "Picker",
cancelText: "Cancel",
confirmText: "Confirm",
value: this.state.pickerValue,
label: "haha",
onMaskPress: ({ close }) => {
close();
},
onConfirm: (value, idx, { close })=> {
this.setState({ pickerValue: value });
close();
},
});
picker
Popup.picker({
dataSource: [
[
{
label: "a",
value: "a",
},
{
label: "b",
value: "b",
},
{
label: "c",
value: "c",
},
],
[
{
label: "1",
value: "1",
},
{
label: "2",
value: "2",
},
{
label: "3",
value: "3",
},
],
[
{
label: "m",
value: "m",
},
{
label: "x",
value: "x",
},
{
label: "d",
value: "d",
},
],
],
singlePicker: false,
title: "Picker",
cancelText: "Cancel",
confirmText: "Confirm",
value: this.state.pickerValues,
label: ["$", "%"],
onMaskPress: ({ close }) => {
close();
},
onConfirm: (value) => {
this.setState({ pickerValues: value });
Popup.close();
},
});
A custom content dialog box pops up.
Popup.custom({
content: (
<View
style={{
height: 200,
alignItems: "center",
justifyContent: "center",
backgroundColor: "#fff",
}}
>
<Text style={{ fontSize: 36, color: "#000" }}>Custom Content</Text>
</View>
),
title: "Custom",
cancelText: "Cancel",
confirmText: "Confirm",
onMaskPress: ({ close }) => {
close();
},
onConfirm: (date, { close }) => {
Popup.close();
},
});
Popup.toast({
message: "I am Toast",
});
Note: besides
close
, the first parameter of Popup API is theprops
of the component, and the second parameter is theprops
ofModal
. For example,Popup.someMethod(props: Object, modalProps? : Object)
.
Property | Description | Type | Default value | Required |
---|---|---|---|---|
wrApperStyle | Container style | ViewPropTypes.style | null | No |
title | Popup header title | string | ReactElement |
Modal |
No |
titleTextStyle | Popup header title style | Text.propTypes.style | null | No |
titleWrapperStyle | Popup header style | ViewPropTypes.style | null | No |
switchValue | The status of the header bar button. If the value exists, the header bar will display the Switch button. | boolean |
undefined | No |
onSwitchValueChange | Callback of switching the header bar button | value => void |
null | No |
footer | Custom footer | ReactElement |
null | No |
footerType | footer container display status.
|
both | singleConfirm | singleCancel |
both |
No |
footerWrapperStyle | footer wrapper style |
ViewPropTypes.style | null | No |
cancelText | Cancellation text | string |
'' |
No |
cancelTextStyle | Cancellation text style | Text.propTypes.style | null | No |
confirmText | Confirmation text | string |
'' |
No |
confirmTextStyle | Confirmation text style | Text.propTypes.style | null | No |
onCancel | Callback of clicking the cancel button | function |
null | No |
onConfirm | Callback of clicking the confirm button | function |
null | No |
motionType | Animation type | string |
PullUp |
No |
motionConfig | Animation configuration | object |
null | No |
showBack | Whether to show the back button | boolean |
false |
No |
onBack | Callback of the back button | function |
null | No |
Countdown popup. In addition to general properties, the following properties are included.
Property | Description | Type | Default value | Required |
---|---|---|---|---|
value | Specific value of countdown | number |
null | Yes |
onlyone | Whether to show only minutes | boolean |
false |
No |
min | The minimum value of the countdown, in minutes | number |
0 | No |
max | The maximum value of the countdown, in minutes | number |
1440 | No |
step | Step length of the countdown | number |
1 | No |
hourText | Hour text | string |
Hour |
No |
minuteText | Minute text | string |
Minute |
No |
Date selection popup. See the Popup
general properties and DatePicker
component.
Time period selection popup. See the Popup
general properties and TimerPicker
component.
Value selection popup. In addition to general properties, the following properties are included.
Property | Description | Type | Default value | Required |
---|---|---|---|---|
type | Value selection popup type | basic | slider |
basic |
No |
value | Specific value | number |
null | Yes |
max | The maximum available value | number |
100 | No |
min | The minimum available value | number |
0 | No |
step | Step length | number |
1 | No |
scale | Multiple | number |
0 | No |
onValueChange | Value change event | value => void |
() => {} | No |
List selection popup. Popup.list
inherits from TYFlatList
. In addition to general properties, it also contains TYFlatList Prop
and the following properties.
Property | Description | Type | Default value | Required |
---|---|---|---|---|
listItemStyle | Set the style of each listItem |
ViewPropTypes.style | null | No |
maxItemNum | Maximum number of lists | number |
5 | No |
dataSource | Data source, inherited from TYFlatList.Item |
array |
[] | No |
selectedIcon | The icon selected when type is set to radio |
ReactElement |
null | No |
type | List selection popup type | switch | radio |
radio | No |
iconTintColor | Color of the icon selected when type is set to radio |
ColoPropType | #44DB5E | No |
contentCenter | Whether the content is centered | boolean |
true | No |
value | The selected value. Multiple selection type is array , and single selection is string or number |
array | string | number |
-1 | No |
onSelect | Callback of selecting the event | value => void |
() => {} | No |
Picker selection popup. In addition to general properties, the following properties are included.
Property | Description | Type | Default value | Required |
---|---|---|---|---|
pickerWrapperStyle | Picker wrapper style | ViewPropTypes.style | null | No |
pickerStyle | Picker style | ViewPropTypes.style | null | No |
label | Picker label | string | array |
‘’ | No |
dataSource | Picker data source | array |
[] | No |
onValueChange | Value change event | (value, idx)=> void |
() => {} | No |
singlePicker | Whether to show only one picker | boolean |
true | No |
spacing | The spacing on both sides of the picker | boolean |
0 | No |
labelOffset | The offset of the label from picker | number |
22 | No |
pickerFontColor | Font color of picker | ColorPropType | #333 | No |
pickerUnitColor | Unit color of picker | ColorPropType | #333 | No |
Note: the specific types of
picker
data sources are as follows.
PropTypes.arrayOf(
PropTypes.shape({
value: PropTypes.oneOfType([
PropTypes.string,
PropTypes.number,
PropTypes.bool,
PropTypes.array, // In case of multiple picker, it must be an array
]),
label: PropTypes.oneOfType([
PropTypes.string,
PropTypes.array, // In case of multiple picker, it must be an array
]),
})
);
Custom dialog box. In addition to the general properties of Popup
, Popup.custom
also contains the following properties.
Property | Description | Type | Default value | Required |
---|---|---|---|---|
content | Custom content | any |
null | Yes |
Custom dialog box. In addition to the general properties of Popup
, Dialog.custom
also contains the following properties.
Property | Description | Type | Default value | Required |
---|---|---|---|---|
style | Container style | ViewPropTypes.style | null | No |
theme | Theme configuration | Object |
{<br /> background: '#fff5e5',<br /> text: '#F56351',<br /> closeIcon: 'rgba(0, 0, 0, 0.3)', noticeIcon: '#F56361', } |
No |
enableClose | Whether to enable active close | boolean |
true | No |
onClose | Callback of close event | () => void |
null | No |
children | Child element | any |
null | No |
Close the current popup.
Is this page helpful?
YesFeedbackIs this page helpful?
YesFeedback