2

\n我正在通过 bloc 状态从我的 sqflite 行(特定列数据类型是 TEXT)读取的字符串中有一个换行符,并试图在 TextSpan- 中显示它

RichText(
  text: TextSpan(
    text: _state.feedback,  //this is the string
    style: TextStyle(
      fontSize: 20,
      color: Colors.black
    )
   ),
 )

这样做时,它只是在屏幕上呈现为 literal some text \n some text,但如果我硬编码与文本值相同的字符串而不是从 bloc 状态读取,例如:

RichText(
  text: TextSpan(
    text: "some text \n some text"
    style: TextStyle(
      fontSize: 20,
      color: Colors.black
    )
   ),
 )

我也尝试了一个普通的Text(_state.feedback)小部件,我得到了完全相同的行为。当我硬编码文本值时,换行符工作正常,但从列值读取字符串时不会中断。

有没有其他人经历过这个或者可以看到我做错了什么?

4

2 回答 2

0

你有没有这样尝试过:

text: "${_state.feedback}",

我希望这个对你有用。

于 2019-07-26T05:58:19.487 回答
0

尝试这个。它应该工作。

text: _state.feedback.replaceAll(r'\n', '\n'), 
于 2021-02-01T01:12:19.610 回答