mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-05-23 15:09:16 +08:00
[Improvement] AddressList: upgrade style, add slot (#1628)
This commit is contained in:
parent
513b62053e
commit
225bdaef01
@ -111,6 +111,7 @@ export default {
|
|||||||
| is_default | 是否为默认地址 | `Boolean` |
|
| is_default | 是否为默认地址 | `Boolean` |
|
||||||
|
|
||||||
#### searchResult 数据格式
|
#### searchResult 数据格式
|
||||||
|
|
||||||
| key | 说明 | 类型 |
|
| key | 说明 | 类型 |
|
||||||
|-----------|-----------|-----------|
|
|-----------|-----------|-----------|
|
||||||
| name | 地名 | `String` |
|
| name | 地名 | `String` |
|
||||||
|
@ -35,8 +35,8 @@ export default {
|
|||||||
address: '浙江省杭州市滨江区江南大道 15 号'
|
address: '浙江省杭州市滨江区江南大道 15 号'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
add: '新增收货地址',
|
add: '新增地址',
|
||||||
edit: '编辑收货地址'
|
edit: '编辑地址'
|
||||||
},
|
},
|
||||||
'en-US': {
|
'en-US': {
|
||||||
list: [
|
list: [
|
||||||
|
@ -77,3 +77,10 @@ export default {
|
|||||||
| name | Name | `String` |
|
| name | Name | `String` |
|
||||||
| tel | Phone | `String` |
|
| tel | Phone | `String` |
|
||||||
| address | Address | `String` |
|
| address | Address | `String` |
|
||||||
|
|
||||||
|
### Slot
|
||||||
|
|
||||||
|
| 名称 | 说明 |
|
||||||
|
|-----------|-----------|
|
||||||
|
| - | Custom content after list |
|
||||||
|
| top | Custom content before list |
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div :class="b()">
|
<div :class="b()">
|
||||||
|
<slot name="top" />
|
||||||
<radio-group :value="value" :class="b('group')" @input="$emit('input', $event)">
|
<radio-group :value="value" :class="b('group')" @input="$emit('input', $event)">
|
||||||
<cell-group>
|
<cell-group>
|
||||||
<cell v-for="(item, index) in list" :key="item.id" is-link>
|
<cell v-for="(item, index) in list" :key="item.id" is-link>
|
||||||
@ -16,12 +17,13 @@
|
|||||||
</cell>
|
</cell>
|
||||||
</cell-group>
|
</cell-group>
|
||||||
</radio-group>
|
</radio-group>
|
||||||
<cell
|
<slot />
|
||||||
icon="add"
|
<van-button
|
||||||
is-link
|
square
|
||||||
|
size="large"
|
||||||
|
type="danger"
|
||||||
:class="b('add')"
|
:class="b('add')"
|
||||||
class="van-hairline--top"
|
:text="addButtonText || $t('add')"
|
||||||
:title="addButtonText || $t('add')"
|
|
||||||
@click="$emit('add')"
|
@click="$emit('add')"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -31,13 +33,15 @@
|
|||||||
import create from '../utils/create';
|
import create from '../utils/create';
|
||||||
import Radio from '../radio';
|
import Radio from '../radio';
|
||||||
import RadioGroup from '../radio-group';
|
import RadioGroup from '../radio-group';
|
||||||
|
import VanButton from '../button';
|
||||||
|
|
||||||
export default create({
|
export default create({
|
||||||
name: 'address-list',
|
name: 'address-list',
|
||||||
|
|
||||||
components: {
|
components: {
|
||||||
Radio,
|
Radio,
|
||||||
RadioGroup
|
RadioGroup,
|
||||||
|
VanButton
|
||||||
},
|
},
|
||||||
|
|
||||||
props: {
|
props: {
|
||||||
|
@ -38,18 +38,8 @@ exports[`renders demo correctly 1`] = `
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="van-hairline--top van-cell van-cell--clickable van-hairline van-address-list__add">
|
<button class="van-button van-button--danger van-button--large van-button--square van-address-list__add">
|
||||||
<i class="van-icon van-icon-add van-cell__left-icon" style="color:undefined;size:undefined;">
|
<!----><span class="van-button__text">新增地址</span></button>
|
||||||
<!---->
|
|
||||||
</i>
|
|
||||||
<div class="van-cell__title"><span>新增收货地址</span>
|
|
||||||
<!---->
|
|
||||||
</div>
|
|
||||||
<!---->
|
|
||||||
<i class="van-icon van-icon-arrow van-cell__right-icon" style="color:undefined;size:undefined;">
|
|
||||||
<!---->
|
|
||||||
</i>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -44,10 +44,10 @@ export default {
|
|||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
onAdd() {
|
onAdd() {
|
||||||
Toast('新增收货地址');
|
Toast('新增地址');
|
||||||
},
|
},
|
||||||
onEdit(item, index) {
|
onEdit(item, index) {
|
||||||
Toast('编辑收货地址:' + index);
|
Toast('编辑地址:' + index);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -60,7 +60,7 @@ export default {
|
|||||||
|-----------|-----------|-----------|-------------|
|
|-----------|-----------|-----------|-------------|
|
||||||
| v-model | 当前选中地址的 id | String | - |
|
| v-model | 当前选中地址的 id | String | - |
|
||||||
| list | 地址列表 | Array | `[]` |
|
| list | 地址列表 | Array | `[]` |
|
||||||
| add-button-text | 底部按钮文字 | String | `新增收货地址` |
|
| add-button-text | 底部按钮文字 | String | `新增地址` |
|
||||||
|
|
||||||
### Event
|
### Event
|
||||||
|
|
||||||
@ -71,6 +71,7 @@ export default {
|
|||||||
| select | 切换选中的地址时触发 | item: 当前地址对象,index: 索引 |
|
| select | 切换选中的地址时触发 | item: 当前地址对象,index: 索引 |
|
||||||
|
|
||||||
### 数据格式
|
### 数据格式
|
||||||
|
|
||||||
#### 地址列表字段说明
|
#### 地址列表字段说明
|
||||||
| key | 说明 | 类型 |
|
| key | 说明 | 类型 |
|
||||||
|-----------|-----------|-----------|
|
|-----------|-----------|-----------|
|
||||||
@ -78,3 +79,10 @@ export default {
|
|||||||
| name | 收货人姓名 | `String` |
|
| name | 收货人姓名 | `String` |
|
||||||
| tel | 收货人手机号 | `String` |
|
| tel | 收货人手机号 | `String` |
|
||||||
| address | 收货地址 | `String` |
|
| address | 收货地址 | `String` |
|
||||||
|
|
||||||
|
### Slot
|
||||||
|
|
||||||
|
| 名称 | 说明 |
|
||||||
|
|-----------|-----------|
|
||||||
|
| - | 在列表下方插入内容 |
|
||||||
|
| top | 在顶部插入内容 |
|
||||||
|
@ -61,7 +61,7 @@ export default {
|
|||||||
},
|
},
|
||||||
vanAddressList: {
|
vanAddressList: {
|
||||||
address: '收货地址',
|
address: '收货地址',
|
||||||
add: '新增收货地址'
|
add: '新增地址'
|
||||||
},
|
},
|
||||||
vanSku: {
|
vanSku: {
|
||||||
unavailable: '商品已经无法购买啦',
|
unavailable: '商品已经无法购买啦',
|
||||||
|
@ -3,6 +3,10 @@
|
|||||||
.van-address-list {
|
.van-address-list {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
||||||
|
.van-cell {
|
||||||
|
padding: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
.van-cell__value {
|
.van-cell__value {
|
||||||
color: $text-color;
|
color: $text-color;
|
||||||
padding-right: 34px;
|
padding-right: 34px;
|
||||||
@ -10,18 +14,19 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.van-radio__label {
|
.van-radio__label {
|
||||||
margin-left: 32px;
|
margin-left: 27px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.van-radio__input {
|
.van-radio__input {
|
||||||
top: 50%;
|
top: 50%;
|
||||||
left: 0;
|
left: 0;
|
||||||
|
font-size: 16px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
transform: translate(0, -50%);
|
transform: translate(0, -50%);
|
||||||
}
|
}
|
||||||
|
|
||||||
.van-icon-checked {
|
.van-icon-checked {
|
||||||
color: $blue;
|
color: $red;
|
||||||
}
|
}
|
||||||
|
|
||||||
&__group {
|
&__group {
|
||||||
@ -35,12 +40,14 @@
|
|||||||
|
|
||||||
&__name {
|
&__name {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
line-height: 1.5;
|
font-weight: bold;
|
||||||
|
line-height: 20px;
|
||||||
|
margin-bottom: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
&__address {
|
&__address {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
line-height: 1.5;
|
line-height: 16px;
|
||||||
color: $gray-darker;
|
color: $gray-darker;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -48,8 +55,7 @@
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
right: 15px;
|
right: 15px;
|
||||||
font-size: 20px;
|
font-size: 16px;
|
||||||
color: $gray-dark;
|
|
||||||
transform: translate(0, -50%);
|
transform: translate(0, -50%);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -58,13 +64,5 @@
|
|||||||
left: 0;
|
left: 0;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
z-index: 9999;
|
z-index: 9999;
|
||||||
padding-left: 15px;
|
|
||||||
font-size: 16px;
|
|
||||||
|
|
||||||
.van-icon-add {
|
|
||||||
color: $blue;
|
|
||||||
font-size: 20px;
|
|
||||||
line-height: 1.2;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user