[improvement] AddressList: add switchable prop (#1938)

This commit is contained in:
neverland 2018-10-16 21:12:45 +08:00 committed by GitHub
parent fe5c69a853
commit f90e96f701
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 31 additions and 9 deletions

View File

@ -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>
@ -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>

View File

@ -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

View File

@ -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)"
/>
@ -54,6 +55,10 @@ export default create({
disabledText: String,
addButtonText: String,
value: [String, Number],
switchable: {
type: Boolean,
default: true
},
list: {
type: Array,
default: () => []

View File

@ -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">

View File

@ -73,6 +73,7 @@ export default {
| list | 地址列表 | `Array` | `[]` |
| disabled-list | 不可配送地址列表 | `Array` | `[]` |
| disabled-text | 不可配送提示文案 | `String` | - |
| switchable | 是否允许切换地址 | `Boolean` | `true` |
| add-button-text | 底部按钮文字 | `String` | `新增地址` |
### Event

View File

@ -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;
}
@ -76,6 +71,13 @@
}
}
&--disabled {
.van-address-item__name,
.van-address-item__address {
color: $gray-dark;
}
}
&__edit {
position: absolute;
top: 50%;