这是我的上传配置文件数据功能,按下该功能即可
updateProfileData() async {
print(usernameController.text);
print(bioController.text);
final valid =
await usernameCheck(usernameController.text.toLowerCase().trim());
print(valid);
setState(() {
displayNameController.text.trim().length < 3 ||
displayNameController.text.trim().isEmpty
? _displayNameValid = false
: _displayNameValid = true;
usernameController.text.trim().toLowerCase().length < 3 ||
usernameController.text.trim().toLowerCase().isEmpty
? _usernameValid = false
: _usernameValid = true;
(valid) ? _usernameValid = true : _usernameValid = false;
});
if (_displayNameValid && _usernameValid) {
await userRef.document(widget.currentuserId).updateData({
"displayName": displayNameController.text,
"username": usernameController.text.toLowerCase().trim(),
"bio": bioController.text,
});
SnackBar snackbar = SnackBar(
content: Text('Profile Updated!'),
);
_scaffoldKey.currentState.showSnackBar(snackbar);
}
}
它不会在Firestore文档字段中更新-如果我仅更改bio或displayName,则不会更新Firestore,但是如果我更改用户名,它将起作用。为什么会这样?