flutter - 使用新的 TextField 值命中 API
问题描述
我想根据Textformfield的值一次又一次地点击一个api,
这是我到目前为止所做的
文本表单域
Container(
width: 100.w,
margin: EdgeInsets.symmetric(vertical: 1.0.h,horizontal: 1.0.h ),
child: Form(
key: _EBILL,
child: TextFormField(
controller: EBILL,
onChanged: (val) {
setState(() {
formText = val;
});
return formText;
},
// enabled: false,
// readOnly: true,
keyboardType: TextInputType.numberWithOptions(
signed: true, decimal: true),
decoration: InputDecoration(
hintText: 'Biller',
suffixIcon: SizedBox(
height: 6.h,
width: 80,
child: FlatButton(
color: Colors.red,
onPressed: () async {
MenuChoose();
},
child: Text(
'Biller',
textAlign: TextAlign.center,
style: TextStyle(color: Colors.white),
),
),
),
border: OutlineInputBorder(),
),
textInputAction: TextInputAction.done,
// autofocus: true,
validator: (val) {
if (val.isEmpty) return 'Pilih Biller';
return null;
}),
)
),
API命中的未来
Future<List<Elist>> _getHargaEmon() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
var sessec = prefs.getString('sessec');
var pin = prefs.getString('pin');
var provider = checkProvider(EBILL.text);
var data = await Harga(provider, pin, sessec);
var jsonData = json.decode(data);
var jsonProduk = jsonData["VALUE"]["dt_produk"];
List<Elist> elist = [];
for (var u in jsonProduk) {
Elist eList = Elist(u["info_produk"], u["info_harga"], u["info_kode"]);
elist.add(eList);
}
// print(harpul);
return elist;
}
当我们自己输入提供者数据时,它确实可以正常工作,但我想要的是人们只需要选择提供者,它就会自己出现。
这是我所做的
我创建了一个 showModalBottomSheet 并用提供者的列表填充屏幕,当单击列表时它会自动更改 EBILL 值,但什么也没发生。
解决方案
推荐阅读
- arrays - 如何在数组插入Angular上为元素设置动画?
- sql-server - 列出 SQL Server 中 SSAS 表格模型使用的表/视图
- nginx - 如果我在不打算升级到 websocket 连接的 HTTP 请求中包含“升级”和“连接”标头,会发生什么?
- java - 如何在 recyclerview 适配器中更改所选卡片视图的背景
- python - 清除会话失败:Django 表单到腌制 ML 预测
- r - R:基于行过滤器创建多个数据框
- java - Maven不接受加密的nexus密码
- javascript - 无法使用 React Native 为 Firebase 中的每个值提取密钥
- bash - 在提示符下显示命令的 Bash 菜单(不执行命令)
- python - 通过匹配python中的主列表中的项目来生成索引列表