react-native-input-credit-card
Version:
React native credit card input component
77 lines (64 loc) • 1.89 kB
JavaScript
import React, { Component } from "react";
import { StyleSheet, View, Switch } from "react-native";
import { CreditCardInput, LiteCreditCardInput } from "react-native-credit-card-input";
const s = StyleSheet.create({
switch: {
alignSelf: "center",
marginTop: 20,
marginBottom: 20,
},
container: {
backgroundColor: "#F5F5F5",
marginTop: 60,
},
label: {
color: "black",
fontSize: 12,
},
input: {
fontSize: 16,
color: "black",
},
});
export default class Example extends Component {
state = { useLiteCreditCardInput: false };
_onChange = (formData) => console.log(JSON.stringify(formData, null, " "));
_onFocus = (field) => console.log("focusing", field);
_setUseLiteCreditCardInput = (useLiteCreditCardInput) => this.setState({ useLiteCreditCardInput });
render() {
return <Text>alo mundo</Text>
return (
<View style={s.container}>
<Switch
style={s.switch}
onValueChange={this._setUseLiteCreditCardInput}
value={this.state.useLiteCreditCardInput} />
{this.state.useLiteCreditCardInput ?
(
<LiteCreditCardInput
autoFocus
inputStyle={s.input}
validColor={"black"}
invalidColor={"red"}
placeholderColor={"darkgray"}
onFocus={this._onFocus}
onChange={this._onChange} />
) : (
<CreditCardInput
autoFocus
requiresName
requiresCVC
requiresPostalCode
labelStyle={s.label}
inputStyle={s.input}
validColor={"black"}
invalidColor={"red"}
placeholderColor={"darkgray"}
onFocus={this._onFocus}
onChange={this._onChange} />
)
}
</View>
);
}
}