insertText method
void
insertText(
- String text
)
Implementation
void insertText(String text) {
final TextEditingValue value = this.value;
final int start = value.selection.baseOffset;
int end = value.selection.extentOffset;
if (value.selection.isValid && value.text.isNotEmpty) {
String newText = '';
if (value.selection.isCollapsed) {
if (end > 0) {
newText += value.text.substring(0, end);
}
newText += text;
if (value.text.length > end) {
newText += value.text.substring(end, value.text.length);
}
} else {
newText = value.text.replaceRange(start, end, text);
end = start;
}
this.value = value.copyWith(
text: newText,
selection: value.selection.copyWith(
baseOffset: end + text.length, extentOffset: end + text.length));
} else {
newValue(text);
}
}