我尝试使用文本字段填写 sqflite 表,但它创建一个单独的表,而不是填写各个字段
class _InputBarState extends State<InputBar> {
final _controller = TextEditingController();
final _controller1 = TextEditingController();
final _controller2 = TextEditingController();
final _focusNode = FocusNode();
String get text => _controller.text.trim();
String get qnt => _controller1.text.trim();
String get um => _controller2.text.trim();
...
TextField(
controller: _controller,
),
TextField(
controller: _controller1,
),
TextField(
controller: _controller2,
),
IconButton(
color: primaryColor,
padding: const EdgeInsets.only(right: 10),
icon: const Icon(Icons.add),
onPressed: text.isEmpty || um.isEmpty || qnt.isEmpty ? null : () => _onSubmitted(text, um, qnt),
),
...
void _onSubmitted(String text, String qnt, String um) {
if (text.isEmpty || qnt.isEmpty || um.isEmpty) return;
widget.onSubmitted(text);
widget.onSubmitted(qnt);
widget.onSubmitted(um);
_controller.clear();
_controller1.clear();
_controller2.clear();
_focusNode.requestFocus();
}
如果我在 3 个字段中填写:1、2、3,我将附加图像作为输出。 相反,它应该是单行,例如:1 2 3
Text(item.name + item.qnt + item.um ),
帮助解决这个问题
您提供的代码不足以阐明问题。如果您能提供
widget.onSubmitted(text)
回调的代码片段那就太好了。
但是假设您想将 text、qnt 和 um 值存储在单行中,则必须将回调更改为如下所示,而不是使用 text、qnt、um 单独调用它:
widget.onSubmitted(text: text, qnt: qnt, um: um)