尝试导入定义“value”的库,将名称更正为现有setter的名称,或者定义名为“value”的setter或字段

问题描述 投票:0回答:2

我有 SharedValue 类,其中使用 Shared_Value 包有值、键和自动保存 以下是shared_value的代码

import 'package:shared_value/shared_value.dart';

final SharedValue<bool> is_logged_in = SharedValue(
  value: false, // initial value
  key: "is_logged_in", // disk storage key for shared_preferences
  autosave: true, // autosave to shared prefs when value changes
);

final SharedValue<String> access_token = SharedValue(
  value: "", // initial value
  key: "access_token", // disk storage key for shared_preferences
  autosave: true, // autosave to shared prefs when value changes
);

final SharedValue<int> user_id = SharedValue(
  value: 0, // initial value
  key: "user_id", // disk storage key for shared_preferences
  autosave: true, // autosave to shared prefs when value changes
);

final SharedValue<String> avatar_original = SharedValue(
  value: "", // initial value
  key: "avatar_original", // disk storage key for shared_preferences
  autosave: true, // autosave to shared prefs when value changes
);

final SharedValue<String> user_name = SharedValue(
  value: "", // initial value
  key: "user_name", // disk storage key for shared_preferences
  autosave: true, // autosave to shared prefs when value changes
);

final SharedValue<String> user_email = SharedValue(
  value: "", // initial value
  key: "user_email", // disk storage key for shared_preferences
  autosave: true, // autosave to shared prefs when value changes
);

final SharedValue<String> user_phone = SharedValue(
  value: "", // initial value
  key: "user_phone", // disk storage key for shared_preferences
  autosave: true, // autosave to shared prefs when value changes
);

我正在尝试在 main.dart 类中获取 SharedValue 的值 但它没有得到价值

main() async {
  WidgetsFlutterBinding.ensureInitialized();
  SystemChrome.setPreferredOrientations([
    DeviceOrientation.portraitUp,
    DeviceOrientation.portraitDown,
  ]);

  fetch_user() async {
    var userByTokenResponse = await AuthRepository().getUserByTokenResponse();

    if (userByTokenResponse.result == true) {
      is_logged_in.value = true;
      user_id.value = userByTokenResponse.id;
      user_name.value = userByTokenResponse.name;
      user_email.value = userByTokenResponse.email;
      user_phone.value = userByTokenResponse.phone;
      avatar_original.value = userByTokenResponse.avatar_original;
    }
  }

  

它无法访问 Shared 类的值并给出以下错误

The setter 'value' isn't defined for the type 'SharedValue<bool>'.  
Try importing the library that defines 'value', correcting the name to the name of an existing setter, or defining a setter or field named 'value'.

请回答如何解决这个问题。

android flutter dart flutter-dependencies dart-pub
2个回答
1
投票

替换这个:

user_id.value = userByTokenResponse.id;

与:

user_id.$ = userByTokenResponse.id;

0
投票

我有同样的问题,但对于 Paint',没有为类型“Paint”定义设置器“enableDithering”。 尝试导入定义“enableDithering”的库,将名称更正为现有 setter 的名称,或者定义名为“enableDithering”的 setter 或字段 “请记住启用抖动。”

© www.soinside.com 2019 - 2024. All rights reserved.