TextFilde设置了, textAlign: TextAlign.right,或 textAlign: TextAlign.center 导致末尾输入空格有问题问题?
解决办法
在 addListener 的时候加上这句话.
- TextControlUtils.setSpaceTextControl(nameTextControl);
nameTextControl =
TextEditingController(text: patientManagerBean.userName ?? "");
nameTextControl.addListener(() {
TextControlUtils.setSpaceTextControl(nameTextControl);
widget.patientUpdateCallback(getCanSave());
});
- TextControlUtils封装
class TextControlUtils{
//这里面暂时只有一个方法 处理当设置 为 TextAlign.right 活 TextAlign.end 末尾输入空格问题
static void setSpaceTextControl(TextEditingController textEditingController){
String oldString = textEditingController.text;
print(oldString.isNotEmpty);
if(oldString.lastIndexOf(" ")==oldString.length-1&&oldString.isNotEmpty){
textEditingController.text = oldString.replaceAll(" ", "\u{00a0}");
textEditingController.selection = TextSelection.fromPosition(TextPosition(
affinity: TextAffinity.downstream,
offset: textEditingController.text.length));
}
}
}