Flutter 如果不是listView,只有一个item的网络请求赋值

设置全局变量,然后在调用接口之后赋值

 //不知道什么类型就用var
  var _items = [];

  String Txt = "";
  var mBirthday = DateTime.now();
  var mBirthdayString = "null";
  var mCreateTime = "null";
  String _mAvatar = "";
  String _mArea = "null";
  String _mNickname = "null";
  List _photo = [];
  bool isSettings = true;

  bool canSeeButton = false;
  //判断点赞按键
  bool likeButton=false;
  int likeSize=0;

  //评论输入控制器
  final TextEditingController _commentController = TextEditingController();

  //签名焦点
  final FocusNode _focusNodeComment = FocusNode();

  @override
  Widget build(BuildContext context) {
    return layout(context);
  }

  @override
  void initState() {
    super.initState();
    _commentController.addListener(() {
      if (_commentController.text.length > 0) {
        setState(() {
          canSeeButton = true;
        });
      } else {
        setState(() {
          canSeeButton = false;
        });
      }
    });
    getMomentLists();
  }
  
  //获取该动态列表接口
  getMomentLists() async {
    var apiUrl = "http://47.242.63.216:9527/v1/moment/";

    SharedPreferences prefs = await SharedPreferences.getInstance();
    var tokens = prefs.getString("token");

    //参数
    Map map = {};
    //动态ID,0就是最新的
    map["moment_id"] = widget.moment_id;

    //网络请求添加token请求头
    Response result = await Dio().post(apiUrl,
        data: map, options: Options(headers: {"x-token": tokens}));
    log(result.toString());

    //json解析
    Map<String, dynamic> nickname = json.decode(result.toString());
    var httpRes = DynamicDetailsComment.fromJson(nickname);
    //如果成功就吐司
    if (httpRes.code == 200) {
      setState(() {
      //将值赋给全局变量
        //将内容赋值给全局变量_items
        _items = httpRes.data.commentList;
        _mAvatar = httpRes.data.userInfo.avatar;
        _mNickname = httpRes.data.userInfo.nickname;
        mBirthdayString = StringUtils.getAge(httpRes.data.userInfo.birthday);
        _mArea = httpRes.data.userInfo.area;
        Txt = httpRes.data.momentInfo.text;
        _photo = httpRes.data.momentInfo.photos;
        likeButton=httpRes.data.likeState;
        likeSize=httpRes.data.likeUserList.length;
      });
    }
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值