Flutter - 将文本粘贴到已写入 TextField 中的其他文本上
Flutter - Paste text over other text already written in a TextField
我有一个程序可以在 flutter 中复制和粘贴文本,问题是当我复制并粘贴文本时,它会替换掉之前写的文本,在这种情况下我想覆盖文本之前写过,并且用 space 粘贴,就像普通的复制和粘贴一样。
希望得到大家的帮助,谢谢
TextEditingController textEditingController;
String paste = '';
_textField() {
return SliverToBoxAdapter(
child: Padding(
padding: EdgeInsets.all(30.0),
child: TextFormField(
controller: textEditingController,
),
),
);
}
_buttons() {
return SliverToBoxAdapter(
child: Column(
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
IconButton(
icon: Icon(Icons.content_copy),
onPressed: () async {
await FlutterClipboard.copy(textEditingController.text);
Scaffold.of(context).showSnackBar(
SnackBar(content: Text('✓ Copied to Clipboard')),
);
},
),
IconButton(
icon: Icon(Icons.paste),
onPressed: () async {
final value = await FlutterClipboard.paste();
setState(() {
this.paste = value;
});
},
)
],
),
SizedBox(
height: 20,
),
Text(
'Clipboard Text',
style: TextStyle(fontSize: 20),
)
],
),
);
}
您必须将复制的值添加到当前值。
试试这个
setState(() {
this.paste = '${this.paste}, $value';
});
我有一个程序可以在 flutter 中复制和粘贴文本,问题是当我复制并粘贴文本时,它会替换掉之前写的文本,在这种情况下我想覆盖文本之前写过,并且用 space 粘贴,就像普通的复制和粘贴一样。 希望得到大家的帮助,谢谢
TextEditingController textEditingController;
String paste = '';
_textField() {
return SliverToBoxAdapter(
child: Padding(
padding: EdgeInsets.all(30.0),
child: TextFormField(
controller: textEditingController,
),
),
);
}
_buttons() {
return SliverToBoxAdapter(
child: Column(
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
IconButton(
icon: Icon(Icons.content_copy),
onPressed: () async {
await FlutterClipboard.copy(textEditingController.text);
Scaffold.of(context).showSnackBar(
SnackBar(content: Text('✓ Copied to Clipboard')),
);
},
),
IconButton(
icon: Icon(Icons.paste),
onPressed: () async {
final value = await FlutterClipboard.paste();
setState(() {
this.paste = value;
});
},
)
],
),
SizedBox(
height: 20,
),
Text(
'Clipboard Text',
style: TextStyle(fontSize: 20),
)
],
),
);
}
您必须将复制的值添加到当前值。
试试这个
setState(() {
this.paste = '${this.paste}, $value';
});