有一串json数据【租凭,购买两个tabber】 return TabBarView( controller: _tabController, children: [ Expanded(child:Text("ng"),), Expanded(child:Text("ng"),) ] );在这里我如何判断数据你一个并且渲染页面?代码?
时间: 2024-01-16 15:04:38 浏览: 54
假设你已经将这个 JSON 数据解析成了一个 Dart 对象,你可以使用条件语句判断该对象中是否包含租凭或购买的数据。如果包含,则渲染对应的 TabBarView。
以下是示例代码:
```dart
import 'package:flutter/material.dart';
import 'dart:convert';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
String jsonData = '{"tabType": "purchase"}'; // 假设这是从服务器获取的 JSON 数据
Map<String, dynamic> data = jsonDecode(jsonData);
return MaterialApp(
title: 'TabBar Demo',
home: data['tabType'] == 'rent' ? RentTabBarView() : PurchaseTabBarView(), // 根据数据判断渲染哪个 TabBarView
);
}
}
class RentTabBarView extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Rent Tab'),
),
body: TabBarView(
children: [
Expanded(
child: Text('Rent 1'),
),
Expanded(
child: Text('Rent 2'),
),
],
),
);
}
}
class PurchaseTabBarView extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Purchase Tab'),
),
body: TabBarView(
children: [
Expanded(
child: Text('Purchase 1'),
),
Expanded(
child: Text('Purchase 2'),
),
],
),
);
}
}
```
在上面的代码中,我们根据 JSON 数据中的 `tabType` 属性来判断渲染哪个 TabBarView。如果 `tabType` 为 `rent`,则渲染 `RentTabBarView`;如果为 `purchase`,则渲染 `PurchaseTabBarView`。