You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter Web浏览器缩放/Resize时意外触发Bloc添加Variant事件问题

Flutter窗口缩放时自动新增Variant的问题

调整Chrome浏览器窗口大小或进行缩放操作时,系统会触发OnAddVariantEvent,导致我的Column中自动添加新的Variant。目前已确认是该事件被触发,但不清楚原因。

Builder代码

BlocBuilder<VariantBloc, VariantState>(
  builder: (context, state) {

    if(state is AddedVariantState){
      variants++;
    }else if (state is DeletedVariantState){
      variants--;
      usecase.multipleUsecase.removeAt(state.index);
    }

    return Align( 
      alignment: Alignment.centerLeft,
      child: ListView.builder(
      shrinkWrap: true,
      itemCount: variants,
      itemBuilder: (context, index) {
        usecase.multipleUsecase.add(MultipleAddServiceUsecase(index: index));
        return VariantTextfield(
          usecase: usecase.multipleUsecase[index],
          index: index,
        );
      },
      ),
    );
       
  },
),

触发事件的按钮代码

class MarketplaceAddProductVariantButton extends StatelessWidget {
  const MarketplaceAddProductVariantButton({
    Key? key,
  }) : super(key: key);

  @override
  Widget build(BuildContext context) {    
    return Align(
      alignment: Alignment.centerLeft,
      child: NeumorphicButton(
        onPressed: () {
          context
                .read<VariantBloc>()
                .add(OnAddVariantEvent());
        },
        margin:
            EdgeInsets.only(left: ScreenUtils.percentWidth(context, .5)),
        style: marketplaceButtonsNeuStyle.copyWith(
            boxShape:
                NeumorphicBoxShape.roundRect(BorderRadius.circular(17))),
        child: Container(
            alignment: Alignment.center,
            height: ScreenUtils.percentHeight(context, 4.5),
            width: ScreenUtils.percentWidth(context, 12),
            child: AutoSizeText(
              'Agregar otro',
              textAlign: TextAlign.center,
              style: _textStyle(),
            )),
      ),
    );
  }
}

Bloc代码

VariantBloc() : super(VariantInitial()) {
    on<OnAddVariantEvent>((event, emit) {
      emit(AddedVariantState());
    });
}

截图对比

  • 调整前:
    调整前截图

  • 调整后:
    调整后截图

内容的提问来源于stack exchange,提问作者Arisbor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 10:10:20