diff --git a/lib/pages/whisper_detail/controller.dart b/lib/pages/whisper_detail/controller.dart index 456ed31b..17c03a18 100644 --- a/lib/pages/whisper_detail/controller.dart +++ b/lib/pages/whisper_detail/controller.dart @@ -16,7 +16,6 @@ class WhisperDetailController extends GetxController { RxList messageList = [].obs; //表情转换图片规则 List? eInfos; - final TextEditingController replyContentController = TextEditingController(); @override void onInit() { @@ -67,10 +66,11 @@ class WhisperDetailController extends GetxController { } Future sendMsg({ + required String message, dynamic picMsg, + required VoidCallback onClearText, }) async { feedBack(); - String message = replyContentController.text; final userInfo = GStorage.userInfo.get('userInfoCache'); if (userInfo == null) { SmartDialog.dismiss(); @@ -96,7 +96,7 @@ class WhisperDetailController extends GetxController { if (result['status']) { // debugPrint(result['data']); querySessionMsg(); - replyContentController.text = ""; + onClearText(); SmartDialog.dismiss(); SmartDialog.showToast('发送成功'); } else { @@ -104,10 +104,4 @@ class WhisperDetailController extends GetxController { SmartDialog.showToast(result['msg']); } } - - @override - void onClose() { - replyContentController.dispose(); - super.onClose(); - } } diff --git a/lib/pages/whisper_detail/view.dart b/lib/pages/whisper_detail/view.dart index 9374375c..d9f5683d 100644 --- a/lib/pages/whisper_detail/view.dart +++ b/lib/pages/whisper_detail/view.dart @@ -177,7 +177,7 @@ class _WhisperDetailPageState () => TextField( readOnly: readOnly.value, focusNode: focusNode, - controller: _whisperDetailController.replyContentController, + controller: editController, minLines: 1, maxLines: 4, onChanged: (value) { @@ -209,7 +209,10 @@ class _WhisperDetailPageState return IconButton( onPressed: () async { if (enablePublish.value) { - _whisperDetailController.sendMsg(); + _whisperDetailController.sendMsg( + message: editController.text, + onClearText: editController.clear, + ); } else { try { XFile? pickedFile = await imagePicker.pickImage( @@ -238,7 +241,10 @@ class _WhisperDetailPageState }; SmartDialog.showLoading(msg: '正在发送'); await _whisperDetailController.sendMsg( - picMsg: picMsg); + picMsg: picMsg, + message: editController.text, + onClearText: editController.clear, + ); } else { SmartDialog.dismiss(); SmartDialog.showToast(result['msg']);