Flutter入门疑难杂症:SingleChildScrollView中嵌套TextField ,controller.text赋值时自动滚动的解决方法

问题 :布局是SingleChildScrollView 中若干个column ,超出屏幕之下 有TextField的时候,调用controller.text ="XXX"进行赋值 ,会自动将SingleChildScrollView 滚动到TextField所在位置.

解决方案:
给ScrollView增加一个controll .在initState的时候 调用线程回滚即可.

  ScrollController scrollController = ScrollController();
: SingleChildScrollView(
                controller: scrollController,child....)

initState(){
	textController.text="测试";
	//重点,调用controll进行滚动到顶部
	Future.delayed(Duration(milliseconds: 20), () {
      scrollController.jumpTo(scrollController.position.minScrollExtent);
    });
}

原因不详 , 没时间详细分析 ,懂的朋友说一下.

你可能感兴趣的:(Flutter入门)