mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-04-24 02:16:12 +08:00
[improvement] AddressEdit: add more props (#1790)
This commit is contained in:
parent
4aca189f49
commit
bd815a5839
@ -1,10 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div :class="b()">
|
||||||
<field
|
<field
|
||||||
v-on="$listeners"
|
v-on="$listeners"
|
||||||
ref="field"
|
|
||||||
rows="1"
|
|
||||||
autosize
|
autosize
|
||||||
|
ref="field"
|
||||||
|
:rows="detailRows"
|
||||||
:clearable="!isAndroid"
|
:clearable="!isAndroid"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
maxlength="200"
|
maxlength="200"
|
||||||
@ -51,6 +51,7 @@ export default create({
|
|||||||
value: String,
|
value: String,
|
||||||
error: Boolean,
|
error: Boolean,
|
||||||
focused: Boolean,
|
focused: Boolean,
|
||||||
|
detailRows: Number,
|
||||||
searchResult: Array,
|
searchResult: Array,
|
||||||
showSearchResult: Boolean
|
showSearchResult: Boolean
|
||||||
},
|
},
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
<cell-group>
|
<cell-group>
|
||||||
<field
|
<field
|
||||||
v-model="data.name"
|
v-model="data.name"
|
||||||
|
clearable
|
||||||
maxlength="15"
|
maxlength="15"
|
||||||
:label="$t('name')"
|
:label="$t('name')"
|
||||||
:placeholder="$t('namePlaceholder')"
|
:placeholder="$t('namePlaceholder')"
|
||||||
@ -11,6 +12,7 @@
|
|||||||
/>
|
/>
|
||||||
<field
|
<field
|
||||||
v-model="data.tel"
|
v-model="data.tel"
|
||||||
|
clearable
|
||||||
type="tel"
|
type="tel"
|
||||||
:label="$t('tel')"
|
:label="$t('tel')"
|
||||||
:placeholder="$t('telPlaceholder')"
|
:placeholder="$t('telPlaceholder')"
|
||||||
@ -18,16 +20,19 @@
|
|||||||
@focus="onFocus('tel')"
|
@focus="onFocus('tel')"
|
||||||
/>
|
/>
|
||||||
<field
|
<field
|
||||||
|
v-show="showArea"
|
||||||
readonly
|
readonly
|
||||||
:label="$t('area')"
|
:label="$t('area')"
|
||||||
:placeholder="$t('areaPlaceholder')"
|
:placeholder="$t('areaPlaceholder')"
|
||||||
:value="areaText"
|
:value="areaText"
|
||||||
@click="showArea = true"
|
@click="showAreaPopup = true"
|
||||||
/>
|
/>
|
||||||
<address-edit-detail
|
<address-edit-detail
|
||||||
|
v-show="showDetail"
|
||||||
:focused="detailFocused"
|
:focused="detailFocused"
|
||||||
:value="data.addressDetail"
|
:value="data.addressDetail"
|
||||||
:error="errorInfo.addressDetail"
|
:error="errorInfo.addressDetail"
|
||||||
|
:detail-rows="detailRows"
|
||||||
:search-result="searchResult"
|
:search-result="searchResult"
|
||||||
:show-search-result="showSearchResult"
|
:show-search-result="showSearchResult"
|
||||||
@focus="onFocus('addressDetail')"
|
@focus="onFocus('addressDetail')"
|
||||||
@ -65,14 +70,14 @@
|
|||||||
</van-button>
|
</van-button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<popup v-model="showArea" position="bottom" :lazy-render="false" :get-container="getAreaContainer">
|
<popup v-model="showAreaPopup" position="bottom" :lazy-render="false" :get-container="getAreaContainer">
|
||||||
<van-area
|
<van-area
|
||||||
ref="area"
|
ref="area"
|
||||||
:loading="!areaListLoaded"
|
:loading="!areaListLoaded"
|
||||||
:value="data.areaCode"
|
:value="data.areaCode"
|
||||||
:area-list="areaList"
|
:area-list="areaList"
|
||||||
@confirm="onAreaConfirm"
|
@confirm="onAreaConfirm"
|
||||||
@cancel="showArea = false"
|
@cancel="showAreaPopup = false"
|
||||||
/>
|
/>
|
||||||
</popup>
|
</popup>
|
||||||
</div>
|
</div>
|
||||||
@ -126,6 +131,18 @@ export default create({
|
|||||||
showSearchResult: Boolean,
|
showSearchResult: Boolean,
|
||||||
saveButtonText: String,
|
saveButtonText: String,
|
||||||
deleteButtonText: String,
|
deleteButtonText: String,
|
||||||
|
showArea: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
showDetail: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
detailRows: {
|
||||||
|
type: Number,
|
||||||
|
default: 1
|
||||||
|
},
|
||||||
addressInfo: {
|
addressInfo: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default: () => ({ ...defaultData })
|
default: () => ({ ...defaultData })
|
||||||
@ -143,7 +160,7 @@ export default create({
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
data: {},
|
data: {},
|
||||||
showArea: false,
|
showAreaPopup: false,
|
||||||
detailFocused: false,
|
detailFocused: false,
|
||||||
errorInfo: {
|
errorInfo: {
|
||||||
tel: false,
|
tel: false,
|
||||||
@ -209,7 +226,7 @@ export default create({
|
|||||||
},
|
},
|
||||||
|
|
||||||
onAreaConfirm(values) {
|
onAreaConfirm(values) {
|
||||||
this.showArea = false;
|
this.showAreaPopup = false;
|
||||||
this.data.areaCode = values[2].code;
|
this.data.areaCode = values[2].code;
|
||||||
this.assignAreaValues(values);
|
this.assignAreaValues(values);
|
||||||
this.$emit('change-area', values);
|
this.$emit('change-area', values);
|
||||||
@ -290,6 +307,10 @@ export default create({
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
setAddressDetail(value) {
|
||||||
|
this.data.addressDetail = value;
|
||||||
|
},
|
||||||
|
|
||||||
getAreaContainer() {
|
getAreaContainer() {
|
||||||
return document.body;
|
return document.body;
|
||||||
}
|
}
|
||||||
|
@ -53,7 +53,7 @@ exports[`renders demo correctly 1`] = `
|
|||||||
</div>
|
</div>
|
||||||
<!---->
|
<!---->
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div class="van-address-edit-detail">
|
||||||
<div rows="1" maxlength="200" placeholder="街道门牌、楼层房间号等信息" class="van-cell van-hairline van-field">
|
<div rows="1" maxlength="200" placeholder="街道门牌、楼层房间号等信息" class="van-cell van-hairline van-field">
|
||||||
<!---->
|
<!---->
|
||||||
<div class="van-cell__title"><span>详细地址</span>
|
<div class="van-cell__title"><span>详细地址</span>
|
||||||
|
@ -51,7 +51,7 @@ exports[`create a AddressEdit 1`] = `
|
|||||||
</div>
|
</div>
|
||||||
<!---->
|
<!---->
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div class="van-address-edit-detail">
|
||||||
<div rows="1" maxlength="200" placeholder="街道门牌、楼层房间号等信息" class="van-cell van-hairline van-field">
|
<div rows="1" maxlength="200" placeholder="街道门牌、楼层房间号等信息" class="van-cell van-hairline van-field">
|
||||||
<!---->
|
<!---->
|
||||||
<div class="van-cell__title"><span>详细地址</span>
|
<div class="van-cell__title"><span>详细地址</span>
|
||||||
@ -156,7 +156,7 @@ exports[`create a AddressEdit with props 1`] = `
|
|||||||
</div>
|
</div>
|
||||||
<!---->
|
<!---->
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div class="van-address-edit-detail">
|
||||||
<div rows="1" maxlength="200" placeholder="街道门牌、楼层房间号等信息" class="van-cell van-hairline van-field">
|
<div rows="1" maxlength="200" placeholder="街道门牌、楼层房间号等信息" class="van-cell van-hairline van-field">
|
||||||
<!---->
|
<!---->
|
||||||
<div class="van-cell__title"><span>详细地址</span>
|
<div class="van-cell__title"><span>详细地址</span>
|
||||||
|
@ -27,9 +27,11 @@
|
|||||||
color: $gray-dark;
|
color: $gray-dark;
|
||||||
}
|
}
|
||||||
|
|
||||||
&-detail__finish {
|
&-detail {
|
||||||
|
&__finish {
|
||||||
color: $blue;
|
color: $blue;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user