如何解决如何在 Dart 中将 RxInt 转换为 Int ||扑?
我正在玩颤振,
我遇到了一个错误并且没有得到任何正确的解决方案
在我的应用程序中,我的 GetX 控制器中有一些可观察的变量,当尝试应用某种格式然后在此处获取日志时
======== Exception caught by widgets library =======================================================
The following _TypeError was thrown building Obx(dirty,state: _ObxState#76641):
type 'int' is not a subtype of type 'RxInt' of 'function result'
The relevant error-causing widget was:
Obx file:///D:/flutter/mini_rupiya/lib/views/screens/payment.dart:84:17
When the exception was thrown,this was the stack:
#0 DepositController.total (package:mini_rupiya/controllers/deposit_controller.dart)
#1 _PaymentState.build.<anonymous closure> (package:mini_rupiya/views/screens/payment.dart:84:145)
#2 Obx.build (package:get/get_state_manager/src/rx_flutter/rx_obx_widget.dart:84:28)
#3 _ObxState.notifyChilds (package:get/get_state_manager/src/rx_flutter/rx_obx_widget.dart:52:27)
#4 _ObxState.build (package:get/get_state_manager/src/rx_flutter/rx_obx_widget.dart:68:41)
...
====================================================================================================
Reloaded 7 of 1033 libraries in 2,688ms.
======== Exception caught by rendering library =====================================================
The following assertion was thrown during layout:
A RenderFlex overflowed by 99736 pixels on the bottom.
The relevant error-causing widget was:
Column file:///D:/flutter/mini_rupiya/lib/views/screens/payment.dart:38:20
The overflowing RenderFlex has an orientation of Axis.vertical.
The edge of the RenderFlex that is overflowing has been marked in the rendering with a yellow and black striped pattern. This is usually caused by the contents being too big for the RenderFlex.
Consider applying a flex factor (e.g. using an Expanded widget) to force the children of the RenderFlex to fit within the available space instead of being sized to their natural size.
This is considered an error condition because it indicates that there is content that cannot be seen. If the content is legitimately bigger than the available space,consider clipping it with a ClipRect widget before putting it in the flex,or using a scrollable container rather than a Flex,like a ListView.
The specific RenderFlex in question is: RenderFlex#d0b84 relayoutBoundary=up3 OVERFLOWING
... needs compositing
... parentData: offset=Offset(26.0,26.0) (can use size)
... constraints: BoxConstraints(0.0<=w<=359.4,0.0<=h<=507.7)
... size: Size(359.4,507.7)
... direction: vertical
... mainAxisAlignment: center
... mainAxisSize: max
... crossAxisAlignment: center
... verticalDirection: down
◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤
====================================================================================================
这是到达此错误的行
Obx(() => Text("You will get : ${NumberFormat.currency(locale: 'HI',name: "INR",symbol: "\u{20B9}").format(_depositController.total.value.round()/100)}"))
我正在为 NumberFormat
使用 intl 包 在我将它变成在控制器上使用 .obs()
之前它运行良好
如果有人能描述一下,这将是一个很大的帮助
解决方法
type 'int' is not a subtype of type 'RxInt' of 'function result'
表示函数返回一个整数。不是 RxInt。
当给 Rx 类型赋值时,使用 value 属性。例子:
myInteger.value = 100;
从 Rx Type 获取值时,
myInteger.value
,
您可以使用 .toInt()
将 RxInt 转换为 int。它也适用于其他 Rx 的东西!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。