我有一个简短的问题
两者之间的区别是什么
void openDropdown() {
GestureDetector detector;
void searchForGestureDetector(BuildContext element) {
element.visitChildElements((element) {
if (element.widget != null && element.widget is GestureDetector) {
detector = element.widget;
return false;
} else {
searchForGestureDetector(element);
}
return true;
});
}
searchForGestureDetector(CustomerDropdownKey.currentContext);
assert(detector != null);
detector.onTap();
}
final dropdown = Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Expanded(
child:
DropdownSearch<Customer>(
key: CustomerDropdownKey,
searchBoxController: TextEditingController(text: ''),
mode: Mode.MENU,
isFilteredOnline: false,
showClearButton: false,
showSearchBox: true,
//dropDownButton: ,
searchBoxDecoration: InputDecoration(
hintText:'Search Customer',
contentPadding: EdgeInsets.fromLTRB(12, 12, 0, 0),
border: OutlineInputBorder()
),
dropdownSearchDecoration: InputDecoration(
contentPadding: EdgeInsets.fromLTRB(5, 0, 0, 0),
),
//emptyBuilder:_customEmptyBuilderCustomer,
selectedItem:sel_cust,
onFind: (String filter) => Customers().testgetCustomerDetail(filter),
//onFind: (String filter) => CustomerData,
emptyBuilder: (BuildContext context, String Msg) =>
EmptyBuilderCustomer(
Msg: Msg,
),
dropdownBuilder: (BuildContext context, Customer item, String itemDesignation) =>
CustomDropDownCustomer(
item: item,
itemDesignation: itemDesignation,
),
popupItemBuilder: (BuildContext context, Customer item, bool isSelected) =>
PopupItemBuilderCustomer(
item: item,
isSelected: true,
),
//dropdownBuilder: _customDropDownCustomer,
//popupItemBuilder: _customPopupItemBuilderCustomer,
onChanged: (Customer value) {
print('onchanged');
if(value == null) {
sel_cust = null;
}
else {
for (int i = 0; i < custList.length; i++) {
print('loop');
if (value.custid == custList[i].custid) {
print('in');
setState(() {
sel_cust = custList[i];
});
break;
}
}
}
},
))]);
Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Offstage(child: dropdown),
FlatButton(onPressed: openDropdown, child: Text('CLICK ME')),
],
),
vs
let a;
function assign(){
return a=5;
}
assign()
我知道第一个选项返回值,第二个否,但是在两种情况下,let a;
function assign(){
a=5;
}
assign()
将被函数主体中使用的a
符号覆盖。还有更多吗?