参数类型 'RxString' 无法分配给参数类型 'String'

The argument type 'RxString' can't be assigned to the parameter type 'String'

我尝试在我的项目中使用 flutter 中的 GetX 框架。但它显示有关 RxString 的错误。每当我尝试使用 Obx 方法调用文本小部件或其他字符串参数小部件内的控制器对象时,它都会显示错误

The argument type 'RxString' can't be assigned to the parameter type 'String'

这是我的控制器class

var qrValue = "waiting".obs;

socket.on('event', (data) 
{
    var qr = data['final'];
    qrValue.value = qr;
    print(qrValue);
 }

这里要传数据生成二维码

Obx(() => QrImage(
data: _controller.qrValue,
version: QrVersions.auto,
size: 200.0,
 ),
 )),

当我将 qrvalue 传递给参数时,它显示错误

The argument type 'RxString' can't be assigned to the parameter type 'String'

您正在将 Rx 直接传递给 data 属性 QrImage。您需要传递 Rx:

的值
data: _controller.qrValue.value,

如果您不想在每次访问控制器的 obs 变量时附加 .value,请考虑在GetX 控制器。

_添加到现有变量名中,并让getter替换现有变量名。

//getXController

final _qrValue = "waiting".obs;
get qrValue => _qrValue.value; // use getter
//Widget 

Obx(() => QrImage(
  data: _controller.qrValue,
  version: QrVersions.auto,
  size: 200.0,
 ),
),