当我使用TextField时,我想复制和粘贴。 但我做不到
当我复制时。然后单击长文本字段 它只是剪切、复制和全选。没有粘贴
Flutter SDK版本:2.5.1 (我知道它很旧。但我无法更新)
我尝试使用 ClipboardData,
我可以复制,ClipboardData有数据。
但是当我粘贴时,文本=“”。
示例: ClipboardData.text =“abc” 粘贴时 ClipboardData.text = ""
为什么,如何做到这一点?
确保您的应用程序具有访问剪贴板的必要权限。您可能需要请求这些权限,尤其是在 iOS 上。
import 'package:flutter/material.dart';
import 'package:clipboard/clipboard.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Clipboard Example'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
TextField(
decoration: InputDecoration(
hintText: 'Enter text here',
),
onSubmitted: (String value) {
Clipboard.setData(ClipboardData(text: value));
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('Text copied to clipboard')),
);
},
),
SizedBox(height: 20),
ElevatedButton(
onPressed: () {
ClipboardData data = Clipboard.getData();
if (data != null && data.text != null) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('Pasted text: ${data.text}')),
);
} else {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('No text in clipboard')),
);
}
},
child: Text('Paste'),
),
],
),
),
),
);
}
}
尝试这个代码,这可能会解决它。