text_input_mask_formatter 0.0.3 text_input_mask_formatter: ^0.0.3 copied to clipboard
Class that extends TextInputFormatter and makes pure dart masking in flutter simpler!
Text_Input_formatter #
Another pure dart package for masked text. Implemented as TextInputFormatter Seems to be composable and universal.
Getting Started #
There are two properties to pass into constuructor:
mask
(not named);escapeChar
- if you need to change the default one ('_')
And useful method getEscapedString
. TextController will return masked value So it's a handy converter.
With this piece of code:
import 'package:text_input_mask_formatter/text_input_mask_formatter.dart';
class App extends StatefulWidget {
AppState createState() => new AppState();
}
class AppState extends State<App> {
final maskFormatter = MaskTextInputFormatter('+1 (___) ___-__-__');
String inputValue = '';
String unmaskedInputValue = '';
_onTextChange(String s) {
setState(() {
inputValue = s;
unmaskedInputValue = maskFormatter.getEscapedString(s);
});
}
@override
Widget build(BuildContext context) =>
MaterialApp(
title: 'Flutter masked input',
home: Scaffold(
body: TextField(
onChanged: _onTextChange,
inputFormatters: [
WhitelistingTextInputFormatter.digitsOnly,
maskFormatter
],
decoration: InputDecoration(
hintText: '+1 (___) ___-__-__'
),
)
);
}
You'll get quite good looking, functional and composable way to solve the issue (at least nicer than here).
Happy coding!