import 'package:flutter/material.dart';
import '../model/car.dart';
class Homecell extends StatefulWidget {
const Homecell({super.key, this.title, this.onCallBack, this.model});
final String? title;
final CarModel? model;
final Function(String)? onCallBack;
@override
State<Homecell> createState() => _HomecellState();
}
class _HomecellState extends State<Homecell>
with SingleTickerProviderStateMixin {
late AnimationController _controller;
@override
void initState() {
super.initState();
_controller = AnimationController(vsync: this);
}
@override
void dispose() {
_controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: () {
if (widget.onCallBack != null) {
widget.onCallBack!("你说都对");
}
},
child: Container(
child: Text(widget.model?.name ?? "999"),
),
);
}
}
使用
child: ListView.builder(
itemCount: models.length,
itemBuilder: (context, index) => Homecell(
title: "Gabrielle 是贱人",
model: models[index],
onCallBack: (string) {
print(string);
},
),
),
在同一个文件自定义widget
class itemCellView extends StatelessWidget {
final TaskModel? model;
itemCellView({required this.model});
@override
Widget build(BuildContext context) {
return Container(
// padding: EdgeInsets.symmetric(horizontal: 10),
width: MediaQuery.of(context).size.width - 100,
margin: EdgeInsets.all(10),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
// model.state == StateType.Fail ? "任务进行中" : "任务进行中",
"任务进行中",
style: AppTheme.taskState,
),
Text("完成999个任务", textAlign: TextAlign.right),
],
),
);
}
}
网友评论