feat(AddressEdit): show error message in field (#5479)

This commit is contained in:
rex 2020-01-06 13:57:14 +08:00 committed by neverland
parent bc3bea3fed
commit ecff8c4b42
2 changed files with 15 additions and 13 deletions

View File

@ -9,7 +9,7 @@ const android = isAndroid();
export default createComponent({ export default createComponent({
props: { props: {
value: String, value: String,
error: Boolean, errorMessage: String,
focused: Boolean, focused: Boolean,
detailRows: Number, detailRows: Number,
searchResult: Array, searchResult: Array,
@ -89,7 +89,7 @@ export default createComponent({
clearable={!android} clearable={!android}
type="textarea" type="textarea"
value={this.value} value={this.value}
error={this.error} errorMessage={this.errorMessage}
border={!this.shouldShowSearchResult} border={!this.shouldShowSearchResult}
label={t('label')} label={t('label')}
maxlength={this.detailMaxlength} maxlength={this.detailMaxlength}

View File

@ -81,10 +81,11 @@ export default createComponent({
showAreaPopup: false, showAreaPopup: false,
detailFocused: false, detailFocused: false,
errorInfo: { errorInfo: {
tel: false, tel: '',
name: false, name: '',
postalCode: false, areaCode: '',
addressDetail: false postalCode: '',
addressDetail: ''
} }
}; };
}, },
@ -128,7 +129,7 @@ export default createComponent({
methods: { methods: {
onFocus(key) { onFocus(key) {
this.errorInfo[key] = false; this.errorInfo[key] = '';
this.detailFocused = key === 'addressDetail'; this.detailFocused = key === 'addressDetail';
this.$emit('focus', key); this.$emit('focus', key);
}, },
@ -172,8 +173,7 @@ export default createComponent({
const isValid = items.every(item => { const isValid = items.every(item => {
const msg = this.getErrorMessage(item); const msg = this.getErrorMessage(item);
if (msg) { if (msg) {
this.errorInfo[item] = true; this.errorInfo[item] = msg;
Toast(msg);
} }
return !msg; return !msg;
}); });
@ -262,7 +262,7 @@ export default createComponent({
clearable clearable
label={t('name')} label={t('name')}
placeholder={t('namePlaceholder')} placeholder={t('namePlaceholder')}
error={errorInfo.name} errorMessage={errorInfo.name}
onFocus={onFocus('name')} onFocus={onFocus('name')}
/> />
<Field <Field
@ -271,7 +271,7 @@ export default createComponent({
type="tel" type="tel"
label={t('tel')} label={t('tel')}
placeholder={t('telPlaceholder')} placeholder={t('telPlaceholder')}
error={errorInfo.tel} errorMessage={errorInfo.tel}
onFocus={onFocus('tel')} onFocus={onFocus('tel')}
/> />
<Field <Field
@ -280,8 +280,10 @@ export default createComponent({
clickable clickable
label={t('area')} label={t('area')}
placeholder={t('areaPlaceholder')} placeholder={t('areaPlaceholder')}
errorMessage={errorInfo.areaCode}
rightIcon="arrow" rightIcon="arrow"
value={this.areaText} value={this.areaText}
onFocus={onFocus('areaCode')}
onClick={() => { onClick={() => {
this.showAreaPopup = true; this.showAreaPopup = true;
}} }}
@ -290,7 +292,7 @@ export default createComponent({
vShow={this.showDetail} vShow={this.showDetail}
focused={this.detailFocused} focused={this.detailFocused}
value={data.addressDetail} value={data.addressDetail}
error={errorInfo.addressDetail} errorMessage={errorInfo.addressDetail}
detailRows={this.detailRows} detailRows={this.detailRows}
detailMaxlength={this.detailMaxlength} detailMaxlength={this.detailMaxlength}
searchResult={this.searchResult} searchResult={this.searchResult}
@ -310,7 +312,7 @@ export default createComponent({
maxlength="6" maxlength="6"
label={t('postal')} label={t('postal')}
placeholder={t('postal')} placeholder={t('postal')}
error={errorInfo.postalCode} errorMessage={errorInfo.postalCode}
onFocus={onFocus('postalCode')} onFocus={onFocus('postalCode')}
/> />
)} )}