value property
The current value stored in this notifier.
When the value is replaced with something that is not equal to the old value as evaluated by the equality operator ==, this class notifies its listeners.
Implementation
@override
T get value => _value;
Implementation
@override
set value(TextEditingValue newValue) {
if (newValue.text.isEmpty) newValue = newValue.copyWith(text: fixedInitialString);
if (newValue.text.length < fixedInitialString.length) return;
if (newValue.selection.baseOffset < fixedInitialString.length)
newValue = newValue.copyWith(
selection: TextSelection(
baseOffset: fixedInitialString.length,
extentOffset: max(newValue.selection.extentOffset, fixedInitialString.length),
),
);
if (newValue.selection.baseOffset > newValue.selection.extentOffset && newValue.selection.extentOffset < fixedInitialString.length)
newValue = newValue.copyWith(
selection: TextSelection(
baseOffset: newValue.selection.baseOffset,
extentOffset: max(newValue.selection.extentOffset, fixedInitialString.length),
),
);
if (newValue.text.substring(0, fixedInitialString.length) != fixedInitialString)
newValue = newValue.copyWith(
text: text.replaceRange(0, fixedInitialString.length, fixedInitialString),
);
super.value = newValue;
}