[Improvement] simplify inner tag name (#395)

This commit is contained in:
neverland 2017-12-08 14:56:50 +08:00 committed by GitHub
parent 2cc5767a99
commit 3208d1bb3d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
37 changed files with 199 additions and 199 deletions

View File

@ -3,7 +3,7 @@
<div class="van-actionsheet" :class="{ 'van-actionsheet--withtitle': title }" v-show="value"> <div class="van-actionsheet" :class="{ 'van-actionsheet--withtitle': title }" v-show="value">
<div class="van-actionsheet__header van-hairline--top-bottom" v-if="title"> <div class="van-actionsheet__header van-hairline--top-bottom" v-if="title">
<div v-text="title" /> <div v-text="title" />
<van-icon name="close" @click.stop="$emit('input', false)" /> <icon name="close" @click.stop="$emit('input', false)" />
</div> </div>
<ul v-if="!title" class="van-actionsheet__list"> <ul v-if="!title" class="van-actionsheet__list">
<li <li
@ -17,7 +17,7 @@
<span class="van-actionsheet__name">{{ item.name }}</span> <span class="van-actionsheet__name">{{ item.name }}</span>
<span class="van-actionsheet__subname" v-if="item.subname">{{ item.subname }}</span> <span class="van-actionsheet__subname" v-if="item.subname">{{ item.subname }}</span>
</template> </template>
<van-loading v-else class="van-actionsheet__loading" type="circle" /> <loading v-else class="van-actionsheet__loading" type="circle" />
</li> </li>
</ul> </ul>
<div <div
@ -44,8 +44,8 @@ export default {
mixins: [Popup], mixins: [Popup],
components: { components: {
[Icon.name]: Icon, Icon,
[Loading.name]: Loading Loading
}, },
props: { props: {

View File

@ -1,6 +1,6 @@
<template> <template>
<div ref="root"> <div ref="root">
<van-field <field
:label="$t('label.address')" :label="$t('label.address')"
:placeholder="$t('placeholder.address')" :placeholder="$t('placeholder.address')"
maxlength="200" maxlength="200"
@ -16,23 +16,23 @@
> >
<div slot="icon"> <div slot="icon">
<span v-if="showIcon && isAndroid" class="van-address-edit-detail__finish-edit">{{ $t('complete') }}</span> <span v-if="showIcon && isAndroid" class="van-address-edit-detail__finish-edit">{{ $t('complete') }}</span>
<van-icon v-else-if="showIcon" name="clear" /> <icon v-else-if="showIcon" name="clear" />
</div> </div>
</van-field> </field>
<van-cell-group class="van-address-edit-detail__suggest-list" v-if="showSearchList"> <cell-group class="van-address-edit-detail__suggest-list" v-if="showSearchList">
<van-cell <cell
v-for="express in searchResult" v-for="express in searchResult"
:key="express.name + express.address" :key="express.name + express.address"
class="van-address-edit-detail__suggest-item" class="van-address-edit-detail__suggest-item"
@click="onSuggestSelect(express)"> @click="onSuggestSelect(express)">
<van-icon name="location" class="van-address-edit-detail__location" /> <icon name="location" class="van-address-edit-detail__location" />
<div class="van-address-edit-detail__item-info"> <div class="van-address-edit-detail__item-info">
<p class="van-address-edit-detail__title">{{ express.name }}</p> <p class="van-address-edit-detail__title">{{ express.name }}</p>
<p class="van-address-edit-detail__subtitle">{{ express.address }}</p> <p class="van-address-edit-detail__subtitle">{{ express.address }}</p>
</div> </div>
</van-cell> </cell>
</van-cell-group> </cell-group>
</div> </div>
</template> </template>
@ -50,10 +50,10 @@ export default {
mixins: [i18n], mixins: [i18n],
components: { components: {
[Field.name]: Field, Field,
[Icon.name]: Icon, Icon,
[Cell.name]: Cell, Cell,
[CellGroup.name]: CellGroup CellGroup
}, },
props: { props: {

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="van-address-edit"> <div class="van-address-edit">
<van-cell-group> <cell-group>
<van-field <field
maxlength="15" maxlength="15"
:placeholder="$t('placeholder.name')" :placeholder="$t('placeholder.name')"
:label="$t('label.name', computedAddressText)" :label="$t('label.name', computedAddressText)"
@ -9,7 +9,7 @@
:error="errorInfo.name" :error="errorInfo.name"
@focus="onFocus('name')" @focus="onFocus('name')"
/> />
<van-field <field
type="tel" type="tel"
:label="$t('label.tel')" :label="$t('label.tel')"
:placeholder="$t('placeholder.tel')" :placeholder="$t('placeholder.tel')"
@ -17,12 +17,12 @@
:error="errorInfo.tel" :error="errorInfo.tel"
@focus="onFocus('tel')" @focus="onFocus('tel')"
/> />
<van-cell class="van-address-edit__area" :title="$t('areaTitle')" @click="showAreaSelect = true"> <cell class="van-address-edit__area" :title="$t('areaTitle')" @click="showAreaSelect = true">
<span>{{ currentInfo.province || $t('placeholder.province') }}</span> <span>{{ currentInfo.province || $t('placeholder.province') }}</span>
<span>{{ currentInfo.city || $t('placeholder.city') }}</span> <span>{{ currentInfo.city || $t('placeholder.city') }}</span>
<span>{{ currentInfo.county || $t('placeholder.county') }}</span> <span>{{ currentInfo.county || $t('placeholder.county') }}</span>
</van-cell> </cell>
<van-address-edit-detail <address-edit-detail
:value="currentInfo.address_detail" :value="currentInfo.address_detail"
:isError="errorInfo.address_detail" :isError="errorInfo.address_detail"
:showSearchResult="showSearchResult" :showSearchResult="showSearchResult"
@ -31,7 +31,7 @@
@blur="onDetailBlur" @blur="onDetailBlur"
@input="onChangeDetail" @input="onChangeDetail"
/> />
<van-field <field
v-if="showPostal" v-if="showPostal"
v-show="!hideBottomFields" v-show="!hideBottomFields"
type="tel" type="tel"
@ -42,14 +42,14 @@
class="van-hairline--top" class="van-hairline--top"
:error="errorInfo.postal_code" :error="errorInfo.postal_code"
@focus="onFocus('postal_code')"> @focus="onFocus('postal_code')">
</van-field> </field>
<van-switch-cell <switch-cell
v-if="showSetDefault" v-if="showSetDefault"
v-show="!hideBottomFields" v-show="!hideBottomFields"
v-model="currentInfo.is_default" v-model="currentInfo.is_default"
:title="$t('defaultAddress', computedAddressText)" :title="$t('defaultAddress', computedAddressText)"
/> />
</van-cell-group> </cell-group>
<div v-show="!hideBottomFields" class="van-address-edit__buttons"> <div v-show="!hideBottomFields" class="van-address-edit__buttons">
<van-button block :loading="isSaving" @click="onSaveAddress" type="primary"> <van-button block :loading="isSaving" @click="onSaveAddress" type="primary">
{{ $t('save') }} {{ $t('save') }}
@ -58,14 +58,14 @@
{{ $t('deleteAddress', computedAddressText) }} {{ $t('deleteAddress', computedAddressText) }}
</van-button> </van-button>
</div> </div>
<van-popup v-model="showAreaSelect" position="bottom"> <popup v-model="showAreaSelect" position="bottom">
<van-area <van-area
:value="currentInfo.area_code" :value="currentInfo.area_code"
:areaList="areaList" :areaList="areaList"
@confirm="onAreaConfirm" @confirm="onAreaConfirm"
@cancel="showAreaSelect = false" @cancel="showAreaSelect = false"
/> />
</van-popup> </popup>
</div> </div>
</template> </template>
@ -73,12 +73,12 @@
import Field from '../field'; import Field from '../field';
import Cell from '../cell'; import Cell from '../cell';
import CellGroup from '../cell-group'; import CellGroup from '../cell-group';
import Button from '../button'; import VanButton from '../button';
import Popup from '../popup'; import Popup from '../popup';
import Toast from '../toast'; import Toast from '../toast';
import Dialog from '../dialog'; import Dialog from '../dialog';
import Area from '../area'; import VanArea from '../area';
import Detail from './Detail'; import AddressEditDetail from './Detail';
import SwitchCell from '../switch-cell'; import SwitchCell from '../switch-cell';
import validateMobile from '../utils/validate/mobile'; import validateMobile from '../utils/validate/mobile';
import { i18n } from '../locale'; import { i18n } from '../locale';
@ -89,14 +89,14 @@ export default {
mixins: [i18n], mixins: [i18n],
components: { components: {
[Field.name]: Field, Field,
[Cell.name]: Cell, Cell,
[CellGroup.name]: CellGroup, CellGroup,
[SwitchCell.name]: SwitchCell, SwitchCell,
[Button.name]: Button, VanButton,
[Popup.name]: Popup, Popup,
[Area.name]: Area, VanArea,
[Detail.name]: Detail AddressEditDetail
}, },
props: { props: {

View File

@ -1,17 +1,17 @@
<template> <template>
<div class="van-address-list"> <div class="van-address-list">
<van-radio-group :value="value" @input="$emit('input', $event)" class="van-address-list__group"> <radio-group :value="value" @input="$emit('input', $event)" class="van-address-list__group">
<van-cell-group> <cell-group>
<van-cell v-for="(item, index) in list" :key="item.id"> <cell v-for="(item, index) in list" :key="item.id">
<van-radio :name="item.id" @click="$emit('select', item, index)"> <radio :name="item.id" @click="$emit('select', item, index)">
<div class="van-address-list__name">{{ item.name }}{{ item.tel }}</div> <div class="van-address-list__name">{{ item.name }}{{ item.tel }}</div>
<div class="van-address-list__address">收货地址{{ item.address }}</div> <div class="van-address-list__address">收货地址{{ item.address }}</div>
</van-radio> </radio>
<van-icon name="edit" class="van-address-list__edit" @click="$emit('edit', item, index)" /> <icon name="edit" class="van-address-list__edit" @click="$emit('edit', item, index)" />
</van-cell> </cell>
</van-cell-group> </cell-group>
</van-radio-group> </radio-group>
<van-cell icon="add" class="van-address-list__add van-hairline--top" @click="$emit('add')" :title="addButtonText" isLink /> <cell icon="add" class="van-address-list__add van-hairline--top" @click="$emit('add')" :title="addButtonText" isLink />
</div> </div>
</template> </template>
@ -26,11 +26,11 @@ export default {
name: 'van-address-list', name: 'van-address-list',
components: { components: {
[Icon.name]: Icon, Icon,
[Cell.name]: Cell, Cell,
[Radio.name]: Radio, Radio,
[CellGroup.name]: CellGroup, CellGroup,
[RadioGroup.name]: RadioGroup RadioGroup
}, },
props: { props: {

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="van-area"> <div class="van-area">
<van-picker <picker
ref="picker" ref="picker"
showToolbar showToolbar
valueKey="name" valueKey="name"
@ -38,7 +38,7 @@ export default {
name: 'van-area', name: 'van-area',
components: { components: {
[Picker.name]: Picker Picker
}, },
props: { props: {

View File

@ -17,7 +17,7 @@
]" ]"
@click="onClick" @click="onClick"
> >
<van-loading <loading
v-if="loading" v-if="loading"
class="van-button__icon-loading" class="van-button__icon-loading"
type="circle" type="circle"
@ -36,7 +36,7 @@ export default {
name: 'van-button', name: 'van-button',
components: { components: {
[Loading.name]: Loading Loading
}, },
props: { props: {

View File

@ -2,7 +2,7 @@
<div class="van-cell van-hairline" :class="{ 'van-cell--required': required }" @click="onClick"> <div class="van-cell van-hairline" :class="{ 'van-cell--required': required }" @click="onClick">
<div class="van-cell__title" v-if="$slots.title || title"> <div class="van-cell__title" v-if="$slots.title || title">
<slot name="icon"> <slot name="icon">
<van-icon v-if="icon" :name="icon" /> <icon v-if="icon" :name="icon" />
</slot> </slot>
<slot name="title"> <slot name="title">
<span class="van-cell__text" v-text="title" /> <span class="van-cell__text" v-text="title" />
@ -22,7 +22,7 @@
</slot> </slot>
</div> </div>
<slot name="right-icon"> <slot name="right-icon">
<van-icon name="arrow" class="van-cell__right-icon" v-if="isLink" /> <icon name="arrow" class="van-cell__right-icon" v-if="isLink" />
</slot> </slot>
<slot name="extra" /> <slot name="extra" />
</div> </div>
@ -38,7 +38,7 @@ export default {
mixins: [RouterLink], mixins: [RouterLink],
components: { components: {
[Icon.name]: Icon Icon
}, },
props: { props: {

View File

@ -12,7 +12,7 @@
class="van-checkbox__control" class="van-checkbox__control"
:disabled="isDisabled" :disabled="isDisabled"
/> />
<van-icon name="success" /> <icon name="success" />
</span> </span>
<span class="van-checkbox__label" @click="onClickLabel"> <span class="van-checkbox__label" @click="onClickLabel">
<slot></slot> <slot></slot>
@ -28,7 +28,7 @@ export default {
name: 'van-checkbox', name: 'van-checkbox',
components: { components: {
[Icon.name]: Icon Icon
}, },
mixins: [findParent], mixins: [findParent],

View File

@ -2,18 +2,18 @@
<div class="van-contact-card" :class="`van-contact-card--${type}`" v-on="$listeners"> <div class="van-contact-card" :class="`van-contact-card--${type}`" v-on="$listeners">
<div class="van-contact-card__content"> <div class="van-contact-card__content">
<template v-if="type === 'add'"> <template v-if="type === 'add'">
<van-icon class="van-contact-card__icon" name="add2" /> <icon class="van-contact-card__icon" name="add2" />
<div class="van-contact-card__text">{{ addText || $t('addText') }}</div> <div class="van-contact-card__text">{{ addText || $t('addText') }}</div>
</template> </template>
<template v-else-if="type === 'edit'"> <template v-else-if="type === 'edit'">
<van-icon class="van-contact-card__icon" name="contact" /> <icon class="van-contact-card__icon" name="contact" />
<div class="van-contact-card__text"> <div class="van-contact-card__text">
<div>{{ $t('name') }}{{ name }}</div> <div>{{ $t('name') }}{{ name }}</div>
<div>{{ $t('tel') }}{{ tel }}</div> <div>{{ $t('tel') }}{{ tel }}</div>
</div> </div>
</template> </template>
</div> </div>
<van-icon class="van-contact-card__arrow" name="arrow" /> <icon class="van-contact-card__arrow" name="arrow" />
</div> </div>
</template> </template>
@ -27,7 +27,7 @@ export default {
mixins: [i18n], mixins: [i18n],
components: { components: {
[Icon.name]: Icon Icon
}, },
props: { props: {

View File

@ -1,23 +1,23 @@
<template> <template>
<div class="van-contact-edit"> <div class="van-contact-edit">
<van-cell-group> <cell-group>
<van-field <field
v-model="currentInfo.name" v-model="currentInfo.name"
maxlength="30" maxlength="30"
:label="$t('name')" :label="$t('name')"
:placeholder="$t('namePlaceholder')" :placeholder="$t('namePlaceholder')"
:error="errorInfo.name" :error="errorInfo.name"
@focus="onFocus('name')"> @focus="onFocus('name')">
</van-field> </field>
<van-field <field
v-model="currentInfo.tel" v-model="currentInfo.tel"
type="tel" type="tel"
:label="$t('tel')" :label="$t('tel')"
:placeholder="$t('telPlaceholder')" :placeholder="$t('telPlaceholder')"
:error="errorInfo.tel" :error="errorInfo.tel"
@focus="onFocus('tel')"> @focus="onFocus('tel')">
</van-field> </field>
</van-cell-group> </cell-group>
<div class="van-contact-edit__buttons"> <div class="van-contact-edit__buttons">
<van-button block :loading="isSaving" @click="onSaveContact" type="primary">{{ $t('save') }}</van-button> <van-button block :loading="isSaving" @click="onSaveContact" type="primary">{{ $t('save') }}</van-button>
<van-button block :loading="isDeleting" @click="onDeleteContact" v-if="isEdit">{{ $t('delete') }}</van-button> <van-button block :loading="isDeleting" @click="onDeleteContact" v-if="isEdit">{{ $t('delete') }}</van-button>
@ -27,7 +27,7 @@
<script> <script>
import Field from '../field'; import Field from '../field';
import Button from '../button'; import VanButton from '../button';
import CellGroup from '../cell-group'; import CellGroup from '../cell-group';
import Dialog from '../dialog'; import Dialog from '../dialog';
import Toast from '../toast'; import Toast from '../toast';
@ -40,9 +40,9 @@ export default {
mixins: [i18n], mixins: [i18n],
components: { components: {
[Field.name]: Field, Field,
[Button.name]: Button, VanButton,
[CellGroup.name]: CellGroup CellGroup
}, },
props: { props: {

View File

@ -1,17 +1,17 @@
<template> <template>
<div class="van-contact-list"> <div class="van-contact-list">
<van-radio-group :value="value" @input="$emit('input', $event)"> <radio-group :value="value" @input="$emit('input', $event)">
<van-cell-group> <cell-group>
<van-cell v-for="(item, index) in list" :key="item.id"> <cell v-for="(item, index) in list" :key="item.id">
<van-radio :name="item.id" @click="$emit('select', item, index)"> <radio :name="item.id" @click="$emit('select', item, index)">
<p class="van-contact-list__text">{{ $t('name') }}{{ item.name }}</p> <p class="van-contact-list__text">{{ $t('name') }}{{ item.name }}</p>
<p class="van-contact-list__text">{{ $t('tel') }}{{ item.tel }}</p> <p class="van-contact-list__text">{{ $t('tel') }}{{ item.tel }}</p>
</van-radio> </radio>
<van-icon name="edit" class="van-contact-list__edit" @click="$emit('edit', item, index)" /> <icon name="edit" class="van-contact-list__edit" @click="$emit('edit', item, index)" />
</van-cell> </cell>
</van-cell-group> </cell-group>
</van-radio-group> </radio-group>
<van-cell icon="add" class="van-contact-list__add van-hairline--top" @click="$emit('add')" :title="addText || $t('addText')" isLink /> <cell icon="add" class="van-contact-list__add van-hairline--top" @click="$emit('add')" :title="addText || $t('addText')" isLink />
</div> </div>
</template> </template>
@ -29,11 +29,11 @@ export default {
mixins: [i18n], mixins: [i18n],
components: { components: {
[Icon.name]: Icon, Icon,
[Cell.name]: Cell, Cell,
[Radio.name]: Radio, Radio,
[CellGroup.name]: CellGroup, CellGroup,
[RadioGroup.name]: RadioGroup RadioGroup
}, },
props: { props: {

View File

@ -1,7 +1,7 @@
<template> <template>
<van-cell-group class="van-coupon-cell"> <cell-group class="van-coupon-cell">
<van-cell :title="title || '优惠券码'" :value="value" :isLink="editable" @click="$emit('click')" /> <cell :title="title || '优惠券码'" :value="value" :isLink="editable" @click="$emit('click')" />
</van-cell-group> </cell-group>
</template> </template>
<script> <script>
@ -12,8 +12,8 @@ export default {
name: 'van-coupon-cell', name: 'van-coupon-cell',
components: { components: {
[Cell.name]: Cell, Cell,
[CellGroup.name]: CellGroup CellGroup
}, },
model: { model: {

View File

@ -12,7 +12,7 @@
<span>{{ validPeriod }}</span> <span>{{ validPeriod }}</span>
<p v-if="disabled && data.reason">{{ data.reason }}</p> <p v-if="disabled && data.reason">{{ data.reason }}</p>
<div class="van-coupon-item__corner" v-if="chosen"> <div class="van-coupon-item__corner" v-if="chosen">
<van-icon name="success" /> <icon name="success" />
</div> </div>
</div> </div>
</div> </div>
@ -25,7 +25,7 @@ export default {
name: 'van-coupon-item', name: 'van-coupon-item',
components: { components: {
[Icon.name]: Icon Icon
}, },
props: { props: {

View File

@ -1,11 +1,11 @@
<template> <template>
<div class="van-coupon-list"> <div class="van-coupon-list">
<van-cell-group class="van-coupon-list__top" v-if="showExchangeBar"> <cell-group class="van-coupon-list__top" v-if="showExchangeBar">
<van-field class="van-coupon-list__filed van-hairline--surround" v-model="exchangeCode" :placeholder="inputPlaceholder" :maxlength="20" /> <field class="van-coupon-list__filed van-hairline--surround" v-model="exchangeCode" :placeholder="inputPlaceholder" :maxlength="20" />
<van-button size="small" type="danger" class="van-coupon-list__exchange" :disabled="exchangeButtonDisabled || !exchangeCode.length" @click="onClickExchangeButton">{{ exchangeButtonText }}</van-button> <van-button size="small" type="danger" class="van-coupon-list__exchange" :disabled="exchangeButtonDisabled || !exchangeCode.length" @click="onClickExchangeButton">{{ exchangeButtonText }}</van-button>
</van-cell-group> </cell-group>
<div class="van-coupon-list__list" :class="{ 'van-coupon-list--with-exchange': showExchangeBar }" ref="list"> <div class="van-coupon-list__list" :class="{ 'van-coupon-list--with-exchange': showExchangeBar }" ref="list">
<van-coupon-item <coupon-item
ref="card" ref="card"
v-for="(item, index) in coupons" v-for="(item, index) in coupons"
:key="item.id || item.name" :key="item.id || item.name"
@ -14,7 +14,7 @@
@click.native="onClickCoupon(index)" @click.native="onClickCoupon(index)"
/> />
<h3 v-if="disabledCoupons.length">{{ disabledListTitle }}</h3> <h3 v-if="disabledCoupons.length">{{ disabledListTitle }}</h3>
<van-coupon-item <coupon-item
disabled disabled
v-for="item in disabledCoupons" v-for="item in disabledCoupons"
:key="item.id || item.name" :key="item.id || item.name"
@ -38,21 +38,21 @@
<script> <script>
import Cell from '../cell'; import Cell from '../cell';
import CellGroup from '../cell-group'; import CellGroup from '../cell-group';
import Item from './Item'; import CouponItem from './Item';
import Field from '../field'; import Field from '../field';
import Popup from '../popup'; import Popup from '../popup';
import Button from '../button'; import VanButton from '../button';
export default { export default {
name: 'van-coupon-list', name: 'van-coupon-list',
components: { components: {
[Button.name]: Button, VanButton,
[Cell.name]: Cell, Cell,
[CellGroup.name]: CellGroup, CellGroup,
[Field.name]: Field, Field,
[Popup.name]: Popup, Popup,
[Item.name]: Item CouponItem
}, },
props: { props: {

View File

@ -1,5 +1,5 @@
<template> <template>
<van-picker <picker
ref="picker" ref="picker"
showToolbar showToolbar
:columns="columns" :columns="columns"
@ -19,7 +19,7 @@ export default {
name: 'van-datetime-picker', name: 'van-datetime-picker',
components: { components: {
[Picker.name]: Picker Picker
}, },
props: { props: {

View File

@ -31,7 +31,7 @@
</template> </template>
<script> <script>
import Button from '../button'; import VanButton from '../button';
import Popup from '../mixins/popup'; import Popup from '../mixins/popup';
import { i18n } from '../locale'; import { i18n } from '../locale';
@ -39,7 +39,7 @@ export default {
name: 'van-dialog', name: 'van-dialog',
components: { components: {
[Button.name]: Button VanButton
}, },
mixins: [Popup, i18n], mixins: [Popup, i18n],

View File

@ -1,5 +1,5 @@
<template> <template>
<van-cell <cell
:title="label" :title="label"
:required="required" :required="required"
class="van-field" class="van-field"
@ -41,10 +41,10 @@
@touchstart.prevent="onClickIcon" @touchstart.prevent="onClickIcon"
> >
<slot name="icon"> <slot name="icon">
<van-icon :name="icon" /> <icon :name="icon" />
</slot> </slot>
</div> </div>
</van-cell> </cell>
</template> </template>
<script> <script>
@ -55,8 +55,8 @@ export default {
name: 'van-field', name: 'van-field',
components: { components: {
[Cell.name]: Cell, Cell,
[Icon.name]: Icon Icon
}, },
props: { props: {

View File

@ -12,13 +12,13 @@
</template> </template>
<script> <script>
import Button from '../button'; import VanButton from '../button';
export default { export default {
name: 'van-goods-action-big-btn', name: 'van-goods-action-big-btn',
components: { components: {
[Button.name]: Button VanButton
}, },
props: { props: {

View File

@ -1,6 +1,6 @@
<template> <template>
<a :href="url" class="van-goods-action__mini-btn van-hairline" @click="$emit('click', $event);"> <a :href="url" class="van-goods-action__mini-btn van-hairline" @click="$emit('click', $event);">
<van-icon class="van-goods-action__mini-btn-icon" :class="iconClass" :name="icon" /> <icon class="van-goods-action__mini-btn-icon" :class="iconClass" :name="icon" />
<slot></slot> <slot></slot>
</a> </a>
</template> </template>
@ -12,7 +12,7 @@ export default {
name: 'van-goods-action-mini-btn', name: 'van-goods-action-mini-btn',
components: { components: {
[Icon.name]: Icon Icon
}, },
props: { props: {

View File

@ -7,11 +7,11 @@
@touchend="onTouchEnd" @touchend="onTouchEnd"
@touchcancel="onTouchEnd" @touchcancel="onTouchEnd"
> >
<van-swipe :initialSwipe="startPosition"> <swipe :initialSwipe="startPosition">
<van-swipe-item v-for="(item, index) in images" :key="index"> <swipe-item v-for="(item, index) in images" :key="index">
<img class="van-image-preview__image" :src="item" > <img class="van-image-preview__image" :src="item" >
</van-swipe-item> </swipe-item>
</van-swipe> </swipe>
</div> </div>
</template> </template>
@ -26,8 +26,8 @@ export default {
mixins: [Popup], mixins: [Popup],
components: { components: {
[Swipe.name]: Swipe, Swipe,
[SwipeItem.name]: SwipeItem SwipeItem
}, },
props: { props: {

View File

@ -2,7 +2,7 @@
<div class="van-nav-bar van-hairline--top-bottom" :class="{ 'van-nav-bar--fixed': fixed }"> <div class="van-nav-bar van-hairline--top-bottom" :class="{ 'van-nav-bar--fixed': fixed }">
<div class="van-nav-bar__left" @click="$emit('click-left')"> <div class="van-nav-bar__left" @click="$emit('click-left')">
<slot name="left"> <slot name="left">
<van-icon v-if="leftArrow" class="van-nav-bar__arrow" name="arrow" /> <icon v-if="leftArrow" class="van-nav-bar__arrow" name="arrow" />
<span v-if="leftText" v-text="leftText" class="van-nav-bar__text" /> <span v-if="leftText" v-text="leftText" class="van-nav-bar__text" />
</slot> </slot>
</div> </div>
@ -24,7 +24,7 @@ export default {
name: 'van-nav-bar', name: 'van-nav-bar',
components: { components: {
[Icon.name]: Icon Icon
}, },
props: { props: {

View File

@ -20,7 +20,7 @@
<slot>{{ text }}</slot> <slot>{{ text }}</slot>
</div> </div>
</div> </div>
<van-icon class="van-notice-bar__right-icon" :name="iconName" v-if="iconName" @click="onClickIcon" /> <icon class="van-notice-bar__right-icon" :name="iconName" v-if="iconName" @click="onClickIcon" />
</div> </div>
</template> </template>
@ -31,7 +31,7 @@ export default {
name: 'van-notice-bar', name: 'van-notice-bar',
components: { components: {
[Icon.name]: Icon Icon
}, },
props: { props: {

View File

@ -8,7 +8,7 @@
</slot> </slot>
</div> </div>
<div class="van-picker__columns"> <div class="van-picker__columns">
<van-picker-column <picker-column
v-for="(item, index) in currentColumns" v-for="(item, index) in currentColumns"
:key="index" :key="index"
:valueKey="valueKey" :valueKey="valueKey"
@ -25,7 +25,7 @@
<script> <script>
import { i18n } from '../locale'; import { i18n } from '../locale';
import Column from './PickerColumn'; import PickerColumn from './PickerColumn';
import deepClone from '../utils/deep-clone'; import deepClone from '../utils/deep-clone';
export default { export default {
@ -34,7 +34,7 @@ export default {
mixins: [i18n], mixins: [i18n],
components: { components: {
[Column.name]: Column PickerColumn
}, },
props: { props: {

View File

@ -17,7 +17,7 @@
</slot> </slot>
<slot name="loading" v-if="status === 'loading'"> <slot name="loading" v-if="status === 'loading'">
<div class="van-pull-refresh__loading"> <div class="van-pull-refresh__loading">
<van-loading /> <loading />
<span>{{ loadingText || $t('loadingText') }}</span> <span>{{ loadingText || $t('loadingText') }}</span>
</div> </div>
</slot> </slot>
@ -55,7 +55,7 @@ export default {
}, },
components: { components: {
[Loading.name]: Loading Loading
}, },
data() { data() {

View File

@ -11,7 +11,7 @@
class="van-radio__control" class="van-radio__control"
:disabled="isDisabled" :disabled="isDisabled"
> >
<van-icon :name="currentValue === name ? 'checked' : 'check'" /> <icon :name="currentValue === name ? 'checked' : 'check'" />
</span> </span>
<span class="van-radio__label" @click="handleLabelClick"> <span class="van-radio__label" @click="handleLabelClick">
<slot></slot> <slot></slot>
@ -27,7 +27,7 @@ export default {
name: 'van-radio', name: 'van-radio',
components: { components: {
[Icon.name]: Icon Icon
}, },
mixins: [findParent], mixins: [findParent],

View File

@ -4,7 +4,7 @@
:class="{ 'van-search--show-action': showAction }" :class="{ 'van-search--show-action': showAction }"
:style="{ 'background-color': background }"> :style="{ 'background-color': background }">
<div class="van-search__input-wrap" v-clickoutside="onClickoutside"> <div class="van-search__input-wrap" v-clickoutside="onClickoutside">
<van-icon name="search" /> <icon name="search" />
<input <input
type="search" type="search"
class="van-search__input" class="van-search__input"
@ -15,7 +15,7 @@
@focus="onFocus" @focus="onFocus"
@keypress.enter.prevent="onSearch" @keypress.enter.prevent="onSearch"
> >
<van-icon name="clear" @click="onClean" v-show="isFocus" /> <icon name="clear" @click="onClean" v-show="isFocus" />
</div> </div>
<div class="van-search__action" v-if="showAction"> <div class="van-search__action" v-if="showAction">
<slot name="action"> <slot name="action">
@ -36,7 +36,7 @@ export default {
mixins: [i18n], mixins: [i18n],
components: { components: {
[Icon.name]: Icon Icon
}, },
props: { props: {

View File

@ -6,13 +6,13 @@
</template> </template>
<script> <script>
import Button from '../../button'; import VanButton from '../../button';
export default { export default {
name: 'van-sku-actions', name: 'van-sku-actions',
components: { components: {
[Button.name]: Button VanButton
}, },
props: { props: {

View File

@ -1,25 +1,25 @@
<template> <template>
<van-cell-group class="van-sku-messages"> <cell-group class="van-sku-messages">
<template v-for="(message, index) in internalMessages"> <template v-for="(message, index) in internalMessages">
<template v-if="message.type === 'image'"></template> <template v-if="message.type === 'image'"></template>
<van-field v-else-if="message.multiple == '1'" <field v-else-if="message.multiple == '1'"
:key="`${goodsId}-${index}`" :key="`${goodsId}-${index}`"
:required="message.required == '1'" :required="message.required == '1'"
:label="message.name" :label="message.name"
:placeholder="placeholderMap.textarea" :placeholder="placeholderMap.textarea"
type="textarea" type="textarea"
v-model="messageValues[index]"> v-model="messageValues[index]">
</van-field> </field>
<van-field v-else <field v-else
:key="`${goodsId}-${index}`" :key="`${goodsId}-${index}`"
:required="message.required == '1'" :required="message.required == '1'"
:label="message.name" :label="message.name"
:placeholder="placeholderMap[message.type]" :placeholder="placeholderMap[message.type]"
:type="getType(message)" :type="getType(message)"
v-model="messageValues[index]"> v-model="messageValues[index]">
</van-field> </field>
</template> </template>
</van-cell-group> </cell-group>
</template> </template>
<script> <script>
@ -33,8 +33,8 @@ export default {
name: 'van-sku-messages', name: 'van-sku-messages',
components: { components: {
[Field.name]: Field, Field,
[CellGroup.name]: CellGroup CellGroup
}, },
props: { props: {

View File

@ -2,14 +2,14 @@
<div class="van-sku-stepper-stock"> <div class="van-sku-stepper-stock">
<div class="van-sku-stepper-container"> <div class="van-sku-stepper-container">
<div class="van-sku__stepper-title">{{ stepperTitle }}</div> <div class="van-sku__stepper-title">{{ stepperTitle }}</div>
<van-stepper <stepper
class="van-sku__stepper" class="van-sku__stepper"
v-model="currentNum" v-model="currentNum"
:min="1" :min="1"
:max="stepperLimit" :max="stepperLimit"
:disableInput="disableStepperInput" :disableInput="disableStepperInput"
@overlimit="handleOverLimit"> @overlimit="handleOverLimit">
</van-stepper> </stepper>
</div> </div>
<div v-if="!hideStock" class="van-sku__stock">剩余{{ stock }}</div> <div v-if="!hideStock" class="van-sku__stock">剩余{{ stock }}</div>
<div v-if="quota > 0" class="van-sku__quota">每人限购{{ quota }}</div> <div v-if="quota > 0" class="van-sku__quota">每人限购{{ quota }}</div>
@ -26,7 +26,7 @@ export default {
name: 'van-sku-stepper', name: 'van-sku-stepper',
components: { components: {
[Stepper.name]: Stepper Stepper
}, },
props: { props: {

View File

@ -1,15 +1,15 @@
<template> <template>
<van-popup v-model="show" v-if="!isSkuEmpty" position="bottom" lockOnScroll preventScroll> <popup v-model="show" v-if="!isSkuEmpty" position="bottom" lockOnScroll preventScroll>
<div class="van-sku-container"> <div class="van-sku-container">
<div class="van-sku-layout"> <div class="van-sku-layout">
<slot name="sku-header" :skuEventBus="skuEventBus" :selectedSku="selectedSku" :selectedSkuComb="selectedSkuComb"> <slot name="sku-header" :skuEventBus="skuEventBus" :selectedSku="selectedSku" :selectedSkuComb="selectedSkuComb">
<van-sku-header <sku-header
:skuEventBus="skuEventBus" :skuEventBus="skuEventBus"
:selectedSku="selectedSku" :selectedSku="selectedSku"
:selectedSkuComb="selectedSkuComb" :selectedSkuComb="selectedSkuComb"
:goods="goods" :goods="goods"
:sku="sku"> :sku="sku">
</van-sku-header> </sku-header>
</slot> </slot>
<div class="van-sku-body scroller" :style="bodyStyle"> <div class="van-sku-body scroller" :style="bodyStyle">
<slot name="sku-group" :selectedSku="selectedSku" :skuEventBus="skuEventBus"> <slot name="sku-group" :selectedSku="selectedSku" :skuEventBus="skuEventBus">
@ -17,10 +17,10 @@
<div v-for="(skuTreeItem, index) in skuTree" <div v-for="(skuTreeItem, index) in skuTree"
class="van-sku-row-group" class="van-sku-row-group"
:key="index"> :key="index">
<van-sku-row <sku-row
:skuEventBus="skuEventBus" :skuEventBus="skuEventBus"
:skuRow="skuTreeItem"> :skuRow="skuTreeItem">
<van-sku-row-item <sku-row-item
v-for="(skuValue, index) in skuTreeItem.v" v-for="(skuValue, index) in skuTreeItem.v"
:key="index" :key="index"
:skuKeyStr="skuTreeItem.k_s" :skuKeyStr="skuTreeItem.k_s"
@ -28,14 +28,14 @@
:skuEventBus="skuEventBus" :skuEventBus="skuEventBus"
:selectedSku="selectedSku" :selectedSku="selectedSku"
:skuList="sku.list"> :skuList="sku.list">
</van-sku-row-item> </sku-row-item>
</van-sku-row> </sku-row>
</div> </div>
</div> </div>
</slot> </slot>
<slot name="extra-sku-group" :skuEventBus="skuEventBus"></slot> <slot name="extra-sku-group" :skuEventBus="skuEventBus"></slot>
<slot name="sku-stepper" :skuEventBus="skuEventBus" :selectedSku="selectedSku" :selectedSkuComb="selectedSkuComb" :selectedNum="selectedNum"> <slot name="sku-stepper" :skuEventBus="skuEventBus" :selectedSku="selectedSku" :selectedSkuComb="selectedSkuComb" :selectedNum="selectedNum">
<van-sku-stepper <sku-stepper
ref="skuStepper" ref="skuStepper"
:skuEventBus="skuEventBus" :skuEventBus="skuEventBus"
:selectedSku="selectedSku" :selectedSku="selectedSku"
@ -47,27 +47,27 @@
:quotaUsed="quotaUsed" :quotaUsed="quotaUsed"
:disableStepperInput="disableStepperInput" :disableStepperInput="disableStepperInput"
:hideStock="hideStock"> :hideStock="hideStock">
</van-sku-stepper> </sku-stepper>
</slot> </slot>
<slot name="sku-messages"> <slot name="sku-messages">
<van-sku-messages <sku-messages
ref="skuMessages" ref="skuMessages"
:goodsId="goodsId" :goodsId="goodsId"
:messagePlaceholderMap="messagePlaceholderMap" :messagePlaceholderMap="messagePlaceholderMap"
:messages="sku.messages"> :messages="sku.messages">
</van-sku-messages> </sku-messages>
</slot> </slot>
</div> </div>
<slot name="sku-actions" :skuEventBus="skuEventBus"> <slot name="sku-actions" :skuEventBus="skuEventBus">
<van-sku-actions <sku-actions
:skuEventBus="skuEventBus" :skuEventBus="skuEventBus"
:buyText="buyText" :buyText="buyText"
:showAddCartBtn="showAddCartBtn"> :showAddCartBtn="showAddCartBtn">
</van-sku-actions> </sku-actions>
</slot> </slot>
</div> </div>
</div> </div>
</van-popup> </popup>
</template> </template>
<script> <script>
@ -89,13 +89,13 @@ export default {
name: 'van-sku', name: 'van-sku',
components: { components: {
[Popup.name]: Popup, Popup,
[SkuHeader.name]: SkuHeader, SkuHeader,
[SkuRow.name]: SkuRow, SkuRow,
[SkuRowItem.name]: SkuRowItem, SkuRowItem,
[SkuStepper.name]: SkuStepper, SkuStepper,
[SkuMessages.name]: SkuMessages, SkuMessages,
[SkuActions.name]: SkuActions SkuActions
}, },
props: { props: {

View File

@ -3,7 +3,7 @@
<div class="van-steps__status" v-if="title || description"> <div class="van-steps__status" v-if="title || description">
<div class="van-steps__icon" v-if="icon || $slots.icon"> <div class="van-steps__icon" v-if="icon || $slots.icon">
<slot name="icon"> <slot name="icon">
<van-icon :name="icon" :class="iconClass" /> <icon :name="icon" :class="iconClass" />
</slot> </slot>
</div> </div>
<div class="van-steps__message"> <div class="van-steps__message">
@ -25,7 +25,7 @@ export default {
name: 'van-steps', name: 'van-steps',
components: { components: {
[Icon.name]: Icon Icon
}, },
props: { props: {

View File

@ -20,7 +20,7 @@
</template> </template>
<script> <script>
import Button from '../button'; import VanButton from '../button';
import { i18n } from '../locale'; import { i18n } from '../locale';
export default { export default {
@ -29,7 +29,7 @@ export default {
mixins: [i18n], mixins: [i18n],
components: { components: {
[Button.name]: Button VanButton
}, },
props: { props: {

View File

@ -1,19 +1,19 @@
<template> <template>
<van-cell :title="title" class="van-switch-cell"> <cell :title="title" class="van-switch-cell">
<van-switch v-bind="$props" @input="$emit('input', $event)" /> <van-switch v-bind="$props" @input="$emit('input', $event)" />
</van-cell> </cell>
</template> </template>
<script> <script>
import Cell from '../cell'; import Cell from '../cell';
import Switch from '../switch'; import VanSwitch from '../switch';
export default { export default {
name: 'van-switch-cell', name: 'van-switch-cell',
components: { components: {
[Cell.name]: Cell, Cell,
[Switch.name]: Switch VanSwitch
}, },
props: { props: {

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="van-switch" :class="[`van-switch--${value ? 'on' : 'off'}`, { 'van-switch--disabled': disabled }]" @click="toggleState"> <div class="van-switch" :class="[`van-switch--${value ? 'on' : 'off'}`, { 'van-switch--disabled': disabled }]" @click="toggleState">
<div class="van-switch__node van-hairline-surround"> <div class="van-switch__node van-hairline-surround">
<van-loading v-if="loading" class="van-switch__loading" /> <loading v-if="loading" class="van-switch__loading" />
</div> </div>
<div class="van-switch__bg" /> <div class="van-switch__bg" />
</div> </div>
@ -14,7 +14,7 @@ export default {
name: 'van-switch', name: 'van-switch',
components: { components: {
[Loading.name]: Loading Loading
}, },
props: { props: {

View File

@ -2,7 +2,7 @@
<div class="van-tabbar-item" :class="{ 'van-tabbar-item--active': active }" @click="onClick"> <div class="van-tabbar-item" :class="{ 'van-tabbar-item--active': active }" @click="onClick">
<div class="van-tabbar-item__icon" :class="{ 'van-tabbar-item__icon-dot': dot }"> <div class="van-tabbar-item__icon" :class="{ 'van-tabbar-item__icon-dot': dot }">
<slot name="icon" :active="active"> <slot name="icon" :active="active">
<van-icon v-if="icon" :name="icon" /> <icon v-if="icon" :name="icon" />
</slot> </slot>
<div v-if="info" class="van-tabbar-item__info">{{ info }}</div> <div v-if="info" class="van-tabbar-item__info">{{ info }}</div>
</div> </div>
@ -22,7 +22,7 @@ export default {
mixins: [RouterLink], mixins: [RouterLink],
components: { components: {
[Icon.name]: Icon Icon
}, },
props: { props: {

View File

@ -8,8 +8,8 @@
<!-- with icon --> <!-- with icon -->
<template v-if="displayStyle === 'default'"> <template v-if="displayStyle === 'default'">
<van-loading v-if="type === 'loading'" color="white" /> <loading v-if="type === 'loading'" color="white" />
<van-icon v-else class="van-toast__icon" :name="type" /> <icon v-else class="van-toast__icon" :name="type" />
<div v-if="message !== undefined" class="van-toast__text">{{ message }}</div> <div v-if="message !== undefined" class="van-toast__text">{{ message }}</div>
</template> </template>
</div> </div>
@ -28,8 +28,8 @@ export default {
name: 'van-toast', name: 'van-toast',
components: { components: {
[Icon.name]: Icon, Icon,
[Loading.name]: Loading Loading
}, },
props: { props: {

View File

@ -17,11 +17,11 @@
:class="{ 'van-tree-select__item--active': activeId === item.id }" :class="{ 'van-tree-select__item--active': activeId === item.id }"
@click="onItemSelect(item)"> @click="onItemSelect(item)">
{{ item.text }} {{ item.text }}
<van-icon <icon
v-if="activeId === item.id" v-if="activeId === item.id"
name="success" name="success"
class="van-tree-select__selected" class="van-tree-select__selected"
></van-icon> />
</div> </div>
</div> </div>
</div> </div>
@ -34,7 +34,7 @@ export default {
name: 'van-tree-select', name: 'van-tree-select',
components: { components: {
[Icon.name]: Icon Icon
}, },
props: { props: {