【发布时间】:2020-10-20 01:47:01
【问题描述】:
我正在尝试使我的 api url 能够被修改,以便我可以在我的 ListView.builder 中添加和删除股票。
这是我的 http 请求:
import 'dart:convert';
import 'package:flutter/foundation.dart';
import 'package:http/http.dart' as http;
import 'api_data.dart';
String stockWatchlist = 't,aapl,tsla,amd';
String sandToken = 'Tsk_38ddda0b877a4510b42a37ae713cdc96';
Future<List<Stock>> fetchStocks(http.Client client) async {
final response = await client.get(
'https://sandbox.iexapis.com/stable/stock/market/batch?symbols=$stockWatchlist&types=stats,quote&token=$sandToken');
return compute(parseStocks, response.body);
}
List<Stock> parseStocks(String responseBody) {
dynamic data = json.decode(responseBody);
List<Stock> stockList = [];
data.forEach((key, value) => stockList.add(Stock(key, value)));
return stockList;
}
class Stock {
String symbol;
dynamic data;
Stock(this.symbol, this.data);
}
这是我的文本字段:
import 'package:flutter/material.dart';
import 'constants.dart';
class MyTextField extends StatelessWidget {
final myController = TextEditingController();
@override
Widget build(BuildContext context) {
return TextField(
onSubmitted: (newText) {
},
controller: myController,
cursorColor: Colors.white,
textAlign: TextAlign.end,
decoration: InputDecoration(
border: InputBorder.none,
hintText: 'Add Stock',
hintStyle: TextStyle(color: Colors.grey),
suffixIcon: Icon(
Icons.add,
color: Colors.white,
),
),
style: TextStyle(
fontSize: kMediumText,
color: Colors.white,
),
textCapitalization: TextCapitalization.characters,
);
}
}
目标是能够改变的值
String stockWatchlist = 't,aapl,tsla,amd';
使用 TextField,但我不确定如何使用 TextField 编辑字符串。由于这是我的第一个应用程序,我的知识非常有限。
谢谢。
【问题讨论】:
标签: list api flutter dart textfield