提交 498558fc authored 作者: maodou's avatar maodou

1.订单评价优化

上级 ae4ca11b
...@@ -3,17 +3,23 @@ part of user_order; ...@@ -3,17 +3,23 @@ part of user_order;
/// 已完成item /// 已完成item
class BuiltCompleted extends StatelessWidget { class BuiltCompleted extends StatelessWidget {
final OrderListModel model; final OrderListModel model;
final UserOrderController controller;
// final BuildContext context; // final BuildContext context;
const BuiltCompleted({Key? key, required this.model /*,required this.context*/ const BuiltCompleted({Key? key, required this.model , required this.controller
}) })
: super(key: key); : super(key: key);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return GestureDetector( return GestureDetector(
onTap: () { context.pushNamed(Routes.orderCompleted,queryParameters: {'orderNum':model.ordersnum});}, onTap: ()
async {
final result = await context.pushNamed(Routes.orderCompleted,
queryParameters: {'orderNum': model.ordersnum});
if (result == true) {
controller.onRefresh(); }
},
child: Container( child: Container(
margin: EdgeInsets.only(left: 10.w, right: 10.w, top: 10.w), margin: EdgeInsets.only(left: 10.w, right: 10.w, top: 10.w),
padding: EdgeInsets.only(left: 11.5.w, bottom: 12.w), padding: EdgeInsets.only(left: 11.5.w, bottom: 12.w),
...@@ -31,7 +37,6 @@ class BuiltCompleted extends StatelessWidget { ...@@ -31,7 +37,6 @@ class BuiltCompleted extends StatelessWidget {
), ),
child: _buildCom(context)), child: _buildCom(context)),
); );
} }
Widget _buildCom(BuildContext context) { Widget _buildCom(BuildContext context) {
...@@ -81,7 +86,7 @@ class BuiltCompleted extends StatelessWidget { ...@@ -81,7 +86,7 @@ class BuiltCompleted extends StatelessWidget {
], ],
), ),
child: Image.network( child: Image.network(
model.cartList![0].img??'', model.cartList![0].img ?? '',
// 用实际图片链接替换 // 用实际图片链接替换
fit: BoxFit.cover, fit: BoxFit.cover,
), ),
...@@ -130,7 +135,6 @@ class BuiltCompleted extends StatelessWidget { ...@@ -130,7 +135,6 @@ class BuiltCompleted extends StatelessWidget {
), ),
maxLines: 2, maxLines: 2,
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
), ),
)), )),
SizedBox(height: 22.5.w), SizedBox(height: 22.5.w),
...@@ -147,7 +151,9 @@ class BuiltCompleted extends StatelessWidget { ...@@ -147,7 +151,9 @@ class BuiltCompleted extends StatelessWidget {
fontSize: 14.w, fontSize: 14.w,
), ),
), ),
Align( Visibility(
visible: judgeComments() == 0 ? false : true,
child: Align(
alignment: Alignment.centerRight, alignment: Alignment.centerRight,
child: Container( child: Container(
padding: EdgeInsets.symmetric(horizontal: 12.w), padding: EdgeInsets.symmetric(horizontal: 12.w),
...@@ -160,16 +166,21 @@ class BuiltCompleted extends StatelessWidget { ...@@ -160,16 +166,21 @@ class BuiltCompleted extends StatelessWidget {
child: GestureDetector( child: GestureDetector(
onTap: () { onTap: () {
// print("保存昵称"); // print("保存昵称");
context.pushNamed(Routes.orderEvaluate,extra:OrderInfoModel(),queryParameters: {'orderNum':model.ordersnum}); context.pushNamed(Routes.orderEvaluate,
extra: OrderInfoModel(),
queryParameters: {
'orderNum': model.ordersnum
});
}, },
child: Text( child: Text(
'去评价', judgeComments() == 1 ? '去评价' : "继续评价",
style: TextStyle( style: TextStyle(
fontSize: 12.w, color: Colours.cC31F4C), fontSize: 12.w, color: Colours.cC31F4C),
)), )),
), ),
), ),
), ),
),
], ],
), ),
), ),
...@@ -239,7 +250,7 @@ class BuiltCompleted extends StatelessWidget { ...@@ -239,7 +250,7 @@ class BuiltCompleted extends StatelessWidget {
], ],
), ),
child: Image.network( child: Image.network(
cartModel.img??'', cartModel.img ?? '',
// 用实际图片链接替换 // 用实际图片链接替换
fit: BoxFit.cover, fit: BoxFit.cover,
), ),
...@@ -261,7 +272,7 @@ class BuiltCompleted extends StatelessWidget { ...@@ -261,7 +272,7 @@ class BuiltCompleted extends StatelessWidget {
Padding( Padding(
padding: EdgeInsets.only(right: 11.w), padding: EdgeInsets.only(right: 11.w),
child: Text( child: Text(
${model.totalPrice??''}', ${model.totalPrice ?? ''}',
style: TextStyle( style: TextStyle(
color: Colours.cAB1941, color: Colours.cAB1941,
fontWeight: Fonts.medium, fontWeight: Fonts.medium,
...@@ -272,7 +283,7 @@ class BuiltCompleted extends StatelessWidget { ...@@ -272,7 +283,7 @@ class BuiltCompleted extends StatelessWidget {
Padding( Padding(
padding: EdgeInsets.only(right: 11.w, top: 0.5), padding: EdgeInsets.only(right: 11.w, top: 0.5),
child: Text( child: Text(
'共${model.cartList!.isEmpty?0:model.cartList?.length}件', '共${model.cartList!.isEmpty ? 0 : model.cartList?.length}件',
style: TextStyle( style: TextStyle(
color: Colours.c9, color: Colours.c9,
fontSize: 10.w, fontSize: 10.w,
...@@ -282,25 +293,32 @@ class BuiltCompleted extends StatelessWidget { ...@@ -282,25 +293,32 @@ class BuiltCompleted extends StatelessWidget {
SizedBox( SizedBox(
height: 13.5.w, height: 13.5.w,
), ),
Container( Visibility(
visible: judgeComments() == 0 ? false : true,
child: Container(
height: 23.w, height: 23.w,
width: 60.w, width: 60.w,
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10.w), borderRadius: BorderRadius.circular(10.w),
border: border: Border.all(
Border.all(color: Colours.cC31F4C, width: 0.5.w)), color: Colours.cC31F4C, width: 0.5.w)),
child: Center( child: Center(
child: GestureDetector( child: GestureDetector(
onTap: () { onTap: () {
context.pushNamed(Routes.orderEvaluate,extra:OrderInfoModel(),queryParameters: {'orderNum':model.ordersnum}); context.pushNamed(Routes.orderEvaluate,
extra: OrderInfoModel(),
queryParameters: {
'orderNum': model.ordersnum
});
}, },
child: Text( child: Text(
'继续评价', judgeComments() == 1 ? '去评价' : "继续评价",
style: TextStyle( style: TextStyle(
fontSize: 10.w, color: Colours.cC31F4C), fontSize: 10.w, color: Colours.cC31F4C),
)), )),
), ),
), ),
),
], ],
), ),
) )
...@@ -310,4 +328,36 @@ class BuiltCompleted extends StatelessWidget { ...@@ -310,4 +328,36 @@ class BuiltCompleted extends StatelessWidget {
), ),
); );
} }
/// 判断图书是否已评价,全部评价返回0,全部未评价返回1,部分未评价返回2
int judgeComments() {
Console.log('=============judgeComments 开始');
// 无图书
if (model.cartList == null || model.cartList!.isEmpty) {
Console.log('=============judgeComments null 1');
return 1;
} else {
List<CartListModel>? cartList = model.cartList;
int i = 0;
for (CartListModel cart in cartList!) {
if (cart.rating == 0) {
i++;
}
}
// 全部已评价
if (i == 0) {
Console.log('=============judgeComments 0');
return 0;
}
// 全部未评价
if (model.cartList!.length == i) {
Console.log('=============judgeComments 1');
return 1;
} else {
Console.log('=============judgeComments 2');
// 部分未评价
return 2;
}
}
}
} }
...@@ -49,7 +49,7 @@ class _BuildListPageState extends State<BuildListPage> ...@@ -49,7 +49,7 @@ class _BuildListPageState extends State<BuildListPage>
} else if (model.status == 2) { } else if (model.status == 2) {
return BuiltCanceled(model: model,); return BuiltCanceled(model: model,);
} else if (model.status == 3) { } else if (model.status == 3) {
return BuiltCompleted(model: model,); return BuiltCompleted(model: model,controller: controller,);
} else if (model.status == 4) { } else if (model.status == 4) {
return BuiltRefunded(model: model,); return BuiltRefunded(model: model,);
} }
......
...@@ -63,7 +63,7 @@ class _SearchPageState extends State<OrderSearchPage> { ...@@ -63,7 +63,7 @@ class _SearchPageState extends State<OrderSearchPage> {
} else if (model.status == 2) { } else if (model.status == 2) {
return BuiltCanceled(model: model,); return BuiltCanceled(model: model,);
} else if (model.status == 3) { } else if (model.status == 3) {
return BuiltCompleted(model: model,); return BuiltCompleted(model: model,controller: UserOrderController(0));
} else if (model.status == 4) { } else if (model.status == 4) {
return BuiltRefunded(model: model,); return BuiltRefunded(model: model,);
} }
......
...@@ -2,12 +2,15 @@ part of user_order_completed; ...@@ -2,12 +2,15 @@ part of user_order_completed;
/// 已完成订单 /// 已完成订单
class UserOrderCompletedController extends GetxController { class UserOrderCompletedController extends GetxController {
final String orderNum;// 订单编号 final String orderNum; // 订单编号
UserOrderCompletedController(this.orderNum);/*{ UserOrderCompletedController(this.orderNum);
/*{
getOrderInfo(); getOrderInfo();
}*/ }*/
late OrderInfoModel model=OrderInfoModel(); late OrderInfoModel model = OrderInfoModel();
// 应付款、订单编号等 // 应付款、订单编号等
List<OrderCompletedModel> orderCompleteds = []; List<OrderCompletedModel> orderCompleteds = [];
...@@ -23,33 +26,56 @@ class UserOrderCompletedController extends GetxController { ...@@ -23,33 +26,56 @@ class UserOrderCompletedController extends GetxController {
super.onReady(); super.onReady();
} }
/// 获取订单信息 /// 获取订单信息
void getOrderInfo() async { void getOrderInfo() async {
model = await MineAPI.getOrderInfo(orderNum: orderNum); model = await MineAPI.getOrderInfo(orderNum: orderNum);
String payWay =''; String payWay = '';
if(model.payType==1){ if (model.payType == 1) {
payWay='微信'; payWay = '微信';
}else if(model.payType==2){ } else if (model.payType == 2) {
payWay='支付宝'; payWay = '支付宝';
}else if(model.payType==3){ } else if (model.payType == 3) {
payWay='紫荆币'; payWay = '紫荆币';
} }
orderCompleteds = [ orderCompleteds = [
OrderCompletedModel(name: '应付款',value: model.finalTotalPrice.toString(), OrderCompletedModel(
other: (double.parse(model.totalPrice.toString())- name: '应付款',
double.parse(model.finalTotalPrice.toString())).toString()), value: model.finalTotalPrice.toString(),
OrderCompletedModel(name: '订单编号',value: model.ordersnum.toString()), other: (double.parse(model.totalPrice.toString()) -
OrderCompletedModel(name: '支付方式',value: payWay), double.parse(model.finalTotalPrice.toString()))
OrderCompletedModel(name: '支付时间',value: model.payTime.toString()), .toString()),
OrderCompletedModel(name: '下单时间',value: model.createTime.toString()), OrderCompletedModel(name: '订单编号', value: model.ordersnum.toString()),
OrderCompletedModel(name: '支付方式', value: payWay),
OrderCompletedModel(name: '支付时间', value: model.payTime.toString()),
OrderCompletedModel(name: '下单时间', value: model.createTime.toString()),
]; ];
update(); update();
} }
/// 判断图书是否已评价,全部评价返回0,全部未评价返回1,部分未评价返回2
int judgeComments() {
// 无图书
if (model.bookList == null || model.bookList!.isEmpty) {
return 1;
} else {
List<BookListModel>? bookList = model.bookList;
int i = 0;
for (BookListModel book in bookList!) {
if (book.rating == 0) {
i++;
}
}
// 全部已评价
if (i == 0) {
return 0;
}
// 全部未评价
if (model.bookList!.length == i) {
return 1;
} else { // 部分未评价
return 2;
}
}
}
} }
...@@ -206,7 +206,10 @@ class _UserOrderCompletedState extends State<UserOrderCompletedPage> { ...@@ -206,7 +206,10 @@ class _UserOrderCompletedState extends State<UserOrderCompletedPage> {
left: 10.w, right: 10.w, top: 6.w, bottom: 13.w), left: 10.w, right: 10.w, top: 6.w, bottom: 13.w),
height: 1.w, height: 1.w,
), ),
Align( Visibility(
visible: controller.judgeComments() ==0?false:true,
// visible: true,
child: Align(
alignment: Alignment.centerRight, alignment: Alignment.centerRight,
child: Padding( child: Padding(
padding: EdgeInsets.only(right: 15.2), padding: EdgeInsets.only(right: 15.2),
...@@ -219,12 +222,13 @@ class _UserOrderCompletedState extends State<UserOrderCompletedPage> { ...@@ -219,12 +222,13 @@ class _UserOrderCompletedState extends State<UserOrderCompletedPage> {
color: Colours.cC31F4C, width: 0.5.w)), color: Colours.cC31F4C, width: 0.5.w)),
child: Center( child: Center(
child: GestureDetector( child: GestureDetector(
onTap: () { onTap: () async {
// print("保存昵称"); final result = await context.pushNamed(Routes.orderEvaluate,extra:controller.model,
context.pushNamed(Routes.orderEvaluate,extra:controller.model,queryParameters: {'orderNum':controller.model.ordersnum}); queryParameters: {'orderNum':controller.model.ordersnum});
if (result == true) {
controller.getOrderInfo(); }
}, },
child: Text( child: Text(controller.judgeComments() ==1?'去评价':"继续评价",
'去评价',
style: TextStyle( style: TextStyle(
fontSize: 12.w, color: Colours.cC31F4C), fontSize: 12.w, color: Colours.cC31F4C),
)), )),
...@@ -232,6 +236,8 @@ class _UserOrderCompletedState extends State<UserOrderCompletedPage> { ...@@ -232,6 +236,8 @@ class _UserOrderCompletedState extends State<UserOrderCompletedPage> {
), ),
), ),
), ),
),
SizedBox( SizedBox(
height: 14.5.w, height: 14.5.w,
), ),
......
part of user_order_evaluate; part of user_order_evaluate;
/// 订单评价 /// 订单评价
class UserOrderEvaluateController extends GetxController { class UserOrderEvaluateController extends GetxController {
late OrderInfoModel orderInfoModel = OrderInfoModel(); late OrderInfoModel orderInfoModel = OrderInfoModel();
String orderNum; String orderNum;
UserOrderEvaluateController(this.orderNum); // 已完成订单 UserOrderEvaluateController(this.orderNum); // 已完成订单
TextEditingController commentsInput = TextEditingController(); TextEditingController commentsInput = TextEditingController();
late List<TextEditingController> _commentsControllers; late List<TextEditingController> _commentsControllers;
final FocusNode _focusNode = FocusNode(); late List<num?> ratings;
late List<FocusNode?> focusNodes;
// final FocusNode _focusNode = FocusNode();
// 按钮是否可用 // 按钮是否可用
bool _enable = false; bool _enable = false;
bool get enable => _enable; bool get enable => _enable;
@override @override
...@@ -24,39 +28,63 @@ class UserOrderEvaluateController extends GetxController { ...@@ -24,39 +28,63 @@ class UserOrderEvaluateController extends GetxController {
orderInfoModel = await MineAPI.getOrderInfo(orderNum: orderNum); orderInfoModel = await MineAPI.getOrderInfo(orderNum: orderNum);
_commentsControllers = List.generate( _commentsControllers = List.generate(
orderInfoModel.bookList!.length, orderInfoModel.bookList!.length,
(index) => TextEditingController(text: orderInfoModel.bookList![index].comments.toString()), (index) => TextEditingController(
text: orderInfoModel.bookList![index].comments.toString()),
);
ratings = List.generate(
orderInfoModel.bookList!.length,
(index) => orderInfoModel.bookList![index].rating,
);
focusNodes = List.generate(
orderInfoModel.bookList!.length,
(index) => FocusNode(),
); );
update(); update();
} }
/// 上传评价 /// 上传评价
void UpOrderEvaluate(String evaluate) async { Future<bool> UpOrderEvaluate(String evaluate) async {
final result = await MineAPI.UpOrderEvaluate(evaluate: evaluate); final result = await MineAPI.UpOrderEvaluate(evaluate: evaluate);
if (result) { if (result) {
Toast.show('评价成功'); Toast.show('评价成功');
update(); _enable = false;
getOrderInfo();
} }
return result;
} }
void setCanClick({num double=0}){ /// 判断图书是否已评价,评价返回false,未评价返回true
if (double > 0){ bool judgeComments(BookListModel bookListModel) {
_enable = true; // 无图书
if (bookListModel.rating == 0) {
return true;
}
return false;
} }
else{
void setCanClick({num double = 0}) {
if (double > 0) {
_enable = true;
} else {
_enable = false; _enable = false;
} }
update(); update();
} }
void updateText(String text){ void updateText(String text) {
commentsInput =TextEditingController(text: text); commentsInput = TextEditingController(text: text);
// update(); // update();
} }
@override @override
void onClose() { void onClose() {
commentsInput.dispose(); commentsInput.dispose();
_focusNode.dispose(); for(TextEditingController controller in _commentsControllers){
controller.dispose();
}
for(int i=0;i<focusNodes.length;i++){
focusNodes[i]!.dispose();
}
super.onClose(); super.onClose();
} }
} }
...@@ -11,6 +11,7 @@ import 'package:get/get.dart'; ...@@ -11,6 +11,7 @@ import 'package:get/get.dart';
import 'package:get/get_core/src/get_main.dart'; import 'package:get/get_core/src/get_main.dart';
import 'package:get/get_state_manager/src/simple/get_controllers.dart'; import 'package:get/get_state_manager/src/simple/get_controllers.dart';
import 'package:get/get_state_manager/src/simple/get_state.dart'; import 'package:get/get_state_manager/src/simple/get_state.dart';
import 'package:go_router/go_router.dart';
import '../../apis/index.dart'; import '../../apis/index.dart';
import '../../models/index.dart'; import '../../models/index.dart';
......
...@@ -16,23 +16,25 @@ class UserOrderEvaluatePage extends StatefulWidget { ...@@ -16,23 +16,25 @@ class UserOrderEvaluatePage extends StatefulWidget {
} }
class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> with AutomaticKeepAliveClientMixin{ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> with AutomaticKeepAliveClientMixin{
// late UserOrderEvaluateController myController;
// TextEditingController commentsInput = TextEditingController();
List<OrderEvaluate> orderEvaluates = []; List<OrderEvaluate> orderEvaluates = [];
List<double> ratings = []; List<double> ratings = [];
int _index = 0;
// late FocusNode _focusNode;
@override @override
void initState() { void initState() {
// myController = Get.put(UserOrderEvaluateController(widget.orderNum)); // myController = Get.put(UserOrderEvaluateController(widget.orderNum));
super.initState(); super.initState();
} }
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
// super.build(context); // super.build(context);
return return WillPopScope(
GetBuilder<UserOrderEvaluateController>( onWillPop: () async {
context.pop(true);
return false;
},
child:GetBuilder<UserOrderEvaluateController>(
init: UserOrderEvaluateController(widget.orderNum), init: UserOrderEvaluateController(widget.orderNum),
builder: (controller) => Scaffold( builder: (controller) => Scaffold(
appBar: AppBar( appBar: AppBar(
...@@ -42,7 +44,7 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> with Auto ...@@ -42,7 +44,7 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> with Auto
body: body:
GestureDetector( GestureDetector(
onTap: () { onTap: () {
controller._focusNode.unfocus(); controller.focusNodes[_index]!.unfocus();
}, },
child: (controller.orderInfoModel==null ||controller.orderInfoModel.bookList==null)? child: (controller.orderInfoModel==null ||controller.orderInfoModel.bookList==null)?
Container( Container(
...@@ -58,7 +60,7 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> with Auto ...@@ -58,7 +60,7 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> with Auto
physics: const NeverScrollableScrollPhysics(), physics: const NeverScrollableScrollPhysics(),
shrinkWrap: true, shrinkWrap: true,
itemBuilder: (BuildContext context, int index) { itemBuilder: (BuildContext context, int index) {
_index = index;
return listItem( return listItem(
controller.orderInfoModel.bookList![index],index,controller controller.orderInfoModel.bookList![index],index,controller
/*orderEvaluates,*//*controllers*/); /*orderEvaluates,*//*controllers*/);
...@@ -78,7 +80,7 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> with Auto ...@@ -78,7 +80,7 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> with Auto
text: '提交评价', text: '提交评价',
isEnabled: controller.enable, isEnabled: controller.enable,
onPressed: () { onPressed: () {
controller._focusNode.unfocus(); controller.focusNodes[_index]!.unfocus();
for(int i=0;i<orderEvaluates.length;i++){ for(int i=0;i<orderEvaluates.length;i++){
// orderEvaluates[i].comments=controllers[i].text.toString(); // orderEvaluates[i].comments=controllers[i].text.toString();
} }
...@@ -93,19 +95,17 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> with Auto ...@@ -93,19 +95,17 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> with Auto
], ],
), ),
), ),
),); ),),);
} }
Widget listItem(BookListModel bookListModel,int index,UserOrderEvaluateController myController) { Widget listItem(BookListModel bookListModel,int index,UserOrderEvaluateController myController) {
// myController.updateText(bookListModel.comments.toString()); // myController.updateText(bookListModel.comments.toString());
// _focusNode = myController.focusNodes[index]!;
int indexToUpdate = orderEvaluates.indexWhere((obj) => obj.recordId == bookListModel.recordId); int indexToUpdate = orderEvaluates.indexWhere((obj) => obj.recordId == bookListModel.recordId);
if(indexToUpdate==-1){ if(indexToUpdate==-1 && myController.judgeComments(bookListModel)){
OrderEvaluate evaluate = OrderEvaluate(recordId: bookListModel.recordId,rating: bookListModel.rating,comments: bookListModel.comments); OrderEvaluate evaluate = OrderEvaluate(recordId: bookListModel.recordId,rating: bookListModel.rating,comments: bookListModel.comments);
orderEvaluates.add(evaluate); orderEvaluates.add(evaluate);
indexToUpdate = orderEvaluates.length-1;
} }
return Container( return Container(
margin: margin:
...@@ -206,7 +206,7 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> with Auto ...@@ -206,7 +206,7 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> with Auto
emptyColor: Colours.cE2, emptyColor: Colours.cE2,
), ),
onRating: (double) { onRating: (double) {
orderEvaluates[index].rating=double; orderEvaluates[indexToUpdate].rating=double;
myController.setCanClick(double: double); myController.setCanClick(double: double);
print(double); print(double);
}, },
...@@ -229,12 +229,12 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> with Auto ...@@ -229,12 +229,12 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> with Auto
fontSize: 14.w, height: 1.5, color: Colours.c6)), fontSize: 14.w, height: 1.5, color: Colours.c6)),
maxLines: 5, maxLines: 5,
onChanged: (text){ onChanged: (text){
orderEvaluates[index].comments=myController._commentsControllers[index].text; orderEvaluates[indexToUpdate].comments=myController._commentsControllers[index].text;
myController.setCanClick(double:orderEvaluates[index].rating??0); myController.setCanClick(double:orderEvaluates[indexToUpdate].rating??0);
}, },
focusNode: myController._focusNode, focusNode: myController.focusNodes[index],
controller: myController._commentsControllers[index], controller: myController._commentsControllers[index],
enabled: myController._commentsControllers[index].text.isEmpty, enabled: myController.ratings[index]!>0?false:true,
onTap: () { onTap: () {
// 在文本框获取焦点时,将光标移动到文本末尾 // 在文本框获取焦点时,将光标移动到文本末尾
myController._commentsControllers[index].selection = TextSelection.fromPosition( myController._commentsControllers[index].selection = TextSelection.fromPosition(
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论