[new feature] CouponList: add enabled-title、disabled-title props (#3578)

This commit is contained in:
neverland 2019-06-20 20:33:44 +08:00 committed by GitHub
parent 8761669ab9
commit 1f3c2fa9db
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 15 deletions

View File

@ -86,7 +86,9 @@ export default {
| v-model | Current exchange code | `String` | - | | v-model | Current exchange code | `String` | - |
| chosen-coupon | Index of chosen coupon | `Number` | `-1` | | chosen-coupon | Index of chosen coupon | `Number` | `-1` |
| coupons | Coupon list | `Array` | `[]` | | coupons | Coupon list | `Array` | `[]` |
| disabled-coupons | Disabled voupon list | `Array` | `[]` | | disabled-coupons | Disabled coupon list | `Array` | `[]` |
| enabled-title | Title of coupon list | `String` | `Available` | - |
| disabled-title | Title of disabled coupon list | `String` | `Unavailable` | - |
| exchange-button-text | Exchange button text | `String` | `Exchange` | | exchange-button-text | Exchange button text | `String` | `Exchange` |
| exchange-button-loading | Whether to show loading in exchange button | `Boolean` | `false` | | exchange-button-loading | Whether to show loading in exchange button | `Boolean` | `false` |
| exchange-button-disabled | Whether to disable exchange button | `Boolean` | `false` | | exchange-button-disabled | Whether to disable exchange button | `Boolean` | `false` |

View File

@ -19,6 +19,8 @@ export default sfc({
disabledCoupons: Array, disabledCoupons: Array,
closeButtonText: String, closeButtonText: String,
inputPlaceholder: String, inputPlaceholder: String,
enabledTitle: String,
disabledTitle: String,
exchangeButtonText: String, exchangeButtonText: String,
exchangeButtonLoading: Boolean, exchangeButtonLoading: Boolean,
exchangeButtonDisabled: Boolean, exchangeButtonDisabled: Boolean,
@ -66,14 +68,6 @@ export default sfc({
); );
}, },
title() {
return `${t('enable')} (${this.coupons.length})`;
},
disabledTitle() {
return `${t('disabled')} (${this.disabledCoupons.length})`;
},
listStyle() { listStyle() {
return { return {
height: this.winHeight - (this.showExchangeBar ? 140 : 94) + 'px' height: this.winHeight - (this.showExchangeBar ? 140 : 94) + 'px'
@ -150,6 +144,12 @@ export default sfc({
}, },
render(h) { render(h) {
const { coupons, disabledCoupons } = this;
const title = `${this.enabledTitle || t('enable')} (${coupons.length})`;
const disabledTitle = `${this.disabledTitle || t('disabled')} (${
disabledCoupons.length
})`;
const ExchangeBar = this.showExchangeBar && ( const ExchangeBar = this.showExchangeBar && (
<Field <Field
vModel={this.currentCode} vModel={this.currentCode}
@ -167,9 +167,9 @@ export default sfc({
const onChange = index => () => this.$emit('change', index); const onChange = index => () => this.$emit('change', index);
const CouponTab = ( const CouponTab = (
<Tab title={this.title}> <Tab title={title}>
<div class={bem('list')} style={this.listStyle}> <div class={bem('list')} style={this.listStyle}>
{this.coupons.map((coupon, index) => ( {coupons.map((coupon, index) => (
<Coupon <Coupon
ref="card" ref="card"
key={coupon.id} key={coupon.id}
@ -179,18 +179,18 @@ export default sfc({
nativeOnClick={onChange(index)} nativeOnClick={onChange(index)}
/> />
))} ))}
{!this.coupons.length && this.renderEmpty()} {!coupons.length && this.renderEmpty()}
</div> </div>
</Tab> </Tab>
); );
const DisabledCouponTab = ( const DisabledCouponTab = (
<Tab title={this.disabledTitle}> <Tab title={disabledTitle}>
<div class={bem('list')} style={this.listStyle}> <div class={bem('list')} style={this.listStyle}>
{this.disabledCoupons.map(coupon => ( {disabledCoupons.map(coupon => (
<Coupon disabled key={coupon.id} coupon={coupon} currency={this.currency} /> <Coupon disabled key={coupon.id} coupon={coupon} currency={this.currency} />
))} ))}
{!this.disabledCoupons.length && this.renderEmpty()} {!disabledCoupons.length && this.renderEmpty()}
</div> </div>
</Tab> </Tab>
); );

View File

@ -87,6 +87,8 @@ export default {
| chosen-coupon | 当前选中优惠券的索引 | `Number` | `-1` | - | | chosen-coupon | 当前选中优惠券的索引 | `Number` | `-1` | - |
| coupons | 可用优惠券列表 | `Array` | `[]` | - | | coupons | 可用优惠券列表 | `Array` | `[]` | - |
| disabled-coupons | 不可用优惠券列表 | `Array` | `[]` | - | | disabled-coupons | 不可用优惠券列表 | `Array` | `[]` | - |
| enabled-title | 可用优惠券列表标题 | `String` | `可使用优惠券` | - |
| disabled-title | 不可用优惠券列表标题 | `String` | `不可使用优惠券` | - |
| exchange-button-text | 兑换按钮文字 | `String` | `兑换` | - | | exchange-button-text | 兑换按钮文字 | `String` | `兑换` | - |
| exchange-button-loading | 是否显示兑换按钮加载动画 | `Boolean` | `false` | - | | exchange-button-loading | 是否显示兑换按钮加载动画 | `Boolean` | `false` | - |
| exchange-button-disabled | 是否禁用兑换按钮 | `Boolean` | `false` | - | | exchange-button-disabled | 是否禁用兑换按钮 | `Boolean` | `false` | - |