监听重复嵌套时,会导致输入框做编辑删除操作时,其他输入框自动被清空的问题。那么就需要改变监听方式,将其修改为手动调用监听。
1、自动监听方式如下:
Obx(() => activeStep.value == '1'
? stepsBase('模块1', tableNum)
: activeStep.value == '2'
? stepsBase('模块2', baseNum)
: Container())
2、手动监听方式:
class CollectionPageController extends GetxController {
/* 步骤 */
var activeStep = '1'.obs;
var initNum = ''.obs; //水表基数
}
1)、命名监听
GetBuilder<CollectionPageController>(
id: 'Name1',
builder: (_) {
if (_.activeStep.value == '1') {
return Container(
width: 1.sw,
padding: EdgeInsets.only(
left: 74.w, right: 75.w),
child: FormInput(
title: '水表底数',
hasBorder: false,
initValue: vm.initNum.value,
placeholder: '输入基表表盘示数',
onChanged: (value) {
initNum.value = value;
});
} else {
return Container();
}
})
2)、activeStep改变后调用Name1手动刷新
TextButton(,
child: Text('下一步'),
onPressed: () {
activeStep.value = neststeps.toString();
update(['Name1']);
},
)