Flutter中TextFormField加载多行初始值不换行如何解决?
解决Flutter TextFormField加载初始值不识别换行符的问题
- 先检查
object.textValue是否包含真正的换行符:如果你的文本是从存储/后端读取的,可能存在转义后的\\n(即两个字符\和n)而非实际换行符,这种情况需要先替换为真实换行符:
TextFormField( maxLines: 5, minLines: 3, initialValue: object.textValue.replaceAll(r'\n', '\n'), )
- 若初始值已包含正确的
\n但仍不生效,可显式配置输入框的多行属性来确保换行被识别:
TextFormField( maxLines: 5, minLines: 3, initialValue: object.textValue, keyboardType: TextInputType.multiline, textInputAction: TextInputAction.newline, )
- 额外排查:确认没有在存储、传输环节对文本做了不必要的转义处理(比如存入数据库时自动转义
\n,读取时未反转义),这是换行失效的常见诱因。
内容的提问来源于stack exchange,提问作者Victor
相关产品推荐
相关产品推荐

