Skip to content

Commit

Permalink
[improvement] AddressList: add switchable prop (#1938)
Browse files Browse the repository at this point in the history
  • Loading branch information
chenjiahan committed Oct 16, 2018
1 parent fe5c69a commit f90e96f
Show file tree
Hide file tree
Showing 6 changed files with 31 additions and 9 deletions.
17 changes: 15 additions & 2 deletions packages/address-list/Item.vue
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
<template>
<cell :class="b({ disabled })" :is-link="!disabled" @click="$emit('select')">
<cell
:class="b({ disabled, unswitchable: !switchable })"
:is-link="!disabled && switchable"
@click="onSelect"
>
<radio :name="data.id">
<div :class="b('name')">{{ data.name }},{{ data.tel }}</div>
<div :class="b('address')">{{ data.address }}</div>
Expand All @@ -26,7 +30,16 @@ export default create({
props: {
data: Object,
disabled: Boolean
disabled: Boolean,
switchable: Boolean
},
methods: {
onSelect() {
if (this.switchable) {
this.$emit('select');
}
}
}
});
</script>
1 change: 1 addition & 0 deletions packages/address-list/en-US.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ export default {
| list | Address list | Array | `[]` |
| disabled-list | Disabled address list | `Array` | `[]` |
| disabled-text | Disabled text | `String` | - |
| switchable | Whether to allow switch address | `Boolean` | `true` |
| add-button-text | Add button text | String | `Add new address` |

### Event
Expand Down
5 changes: 5 additions & 0 deletions packages/address-list/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
v-for="(item, index) in list"
:data="item"
:key="item.id"
:switchable="switchable"
@select="$emit('select', item, index)"
@edit="$emit('edit', item, index)"
/>
Expand Down Expand Up @@ -54,6 +55,10 @@ export default create({
disabledText: String,
addButtonText: String,
value: [String, Number],
switchable: {
type: Boolean,
default: true
},
list: {
type: Array,
default: () => []
Expand Down
2 changes: 1 addition & 1 deletion packages/address-list/test/__snapshots__/demo.spec.js.snap
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ exports[`renders demo correctly 1`] = `
</div>
<div class="van-address-list__disabled-text">以下地址超出配送范围</div>
<div class="van-cell-group van-hairline--top-bottom">
<div class="van-cell van-address-item van-address-item--disabled">
<div class="van-cell van-address-item van-address-item--disabled van-address-item--unswitchable">
<!---->
<!---->
<div class="van-cell__value van-cell__value--alone">
Expand Down
1 change: 1 addition & 0 deletions packages/address-list/zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ export default {
| list | 地址列表 | `Array` | `[]` |
| disabled-list | 不可配送地址列表 | `Array` | `[]` |
| disabled-text | 不可配送提示文案 | `String` | - |
| switchable | 是否允许切换地址 | `Boolean` | `true` |
| add-button-text | 底部按钮文字 | `String` | `新增地址` |

### Event
Expand Down
14 changes: 8 additions & 6 deletions packages/vant-css/src/address-list.css
Original file line number Diff line number Diff line change
Expand Up @@ -61,12 +61,7 @@
color: $gray-darker;
}

&--disabled {
.van-address-item__name,
.van-address-item__address {
color: $gray-dark;
}

&--unswitchable {
.van-radio__input {
display: none;
}
Expand All @@ -76,6 +71,13 @@
}
}

&--disabled {
.van-address-item__name,
.van-address-item__address {
color: $gray-dark;
}
}

&__edit {
position: absolute;
top: 50%;
Expand Down

0 comments on commit f90e96f

Please sign in to comment.