一直觉得自己写的不是技术,而是情怀,一个个的教程是自己这一路走来的痕迹。靠专业技能的成功是最具可复制性的,希望我的这条路能让你们少走弯路,希望我能帮你们抹去知识的蒙尘,希望我能帮你们理清知识的脉络,希望未来技术之巅上有你们也有我。
1.安装第三方 用于添加购物车
# 事件广播
event_bus: ^1.1.0
创建一个新的页面 EventBus
import 'package:event_bus/event_bus.dart';
//Bus 初始化
EventBus eventBus = EventBus();
class ProductContentEvent{
String str;
ProductContentEvent(String str){
this.str=str;
}
}
回到页面
import 'package:flutter_app/services/EventBus.dart';
4.创建事件属性
var actionEventBus;
5.注册监听方法
@override
void initState() {
super.initState();
this._productContent = widget._productContentList[0];
this._attr = this._productContent.attr;
_initAttr();
//--------------------------------------------
this.actionEventBus=eventBus.on<ProductContentEvent>().listen((str) {
print(str);
this._attrBottomSheet();
});
//--------------------------------------------
}
6.销毁事件
//销毁
void dispose(){
super.dispose();
this.actionEventBus.cancel(); //取消事件监听
}
7.回到下面的页面
向下拉,去到点击购物车,跟立即购买噶方法里面加上下面的代码
导入
import 'package:flutter_app/services/EventBus.dart';
Expanded(
flex: 1,
child: JdButton(
color:Color.fromRGBO(253, 1, 0, 0.9),
text: "加入购物车",
cb: (){
//--------------------------------------------
if(this._productContentList[0].attr.length>0){
//广播 弹出筛选
eventBus.fire(new ProductContentEvent('加入购物车'));
}else{
print("加入购物车操作");
}
//--------------------------------------------
},
),
),
Expanded(
flex: 1,
child: JdButton(
color: Color.fromRGBO(255, 165, 0, 0.9),
text: "立即购买",
cb: (){
//--------------------------------------------
if(this._productContentList[0].attr.length>0){
//广播 弹出筛选
eventBus.fire(new ProductContentEvent('立即购买'));
}else{
print("立即购买");
}
//--------------------------------------------
},
),
)