directory adjust: delete entry index.js

This commit is contained in:
陈嘉涵
2017-08-22 17:52:16 +08:00
parent 707b48aa61
commit c494292e3f
88 changed files with 587 additions and 713 deletions

105
packages/search/index.vue Normal file
View File

@@ -0,0 +1,105 @@
<template>
<div
class="van-search"
v-clickoutside="handleClickoutside"
:class="{ 'van-search--focus': isFocus, 'van-search--showcase': type === 'showcase' }">
<div class="van-search__input-wrap">
<van-icon name="search"></van-icon>
<input
type="text"
:placeholder="placeholder"
class="van-search__input"
v-model="value"
v-refocus="focusStatus"
@focus="handleFocus"
@keyup.enter="handleSearch">
<van-icon name="clear" @click="handleClean" v-show="isFocus"></van-icon>
</div>
<div class="van-search__cancel" v-show="type !== 'showcase' && isFocus" @click="handleBack">取消</div>
</div>
</template>
<script>
import VanIcon from '../icon';
import Clickoutside from '../utils/clickoutside';
export default {
name: 'van-search',
components: {
VanIcon
},
props: {
placeholder: String,
type: {
type: String,
default: 'normal'
}
},
watch: {
value(val) {
this.$emit('change', val);
}
},
data() {
return {
value: '',
focusStatus: false,
isFocus: false
};
},
directives: {
Clickoutside,
refocus: {
update: function(el, state) {
if (state.value) {
el.focus();
}
}
}
},
methods: {
/**
* 进入input焦点出现close和取消
*/
handleFocus() {
this.isFocus = true;
},
/**
* 点击close后清空vlaue后再聚焦input框
*/
handleClean() {
this.value = '';
this.focusStatus = true;
},
/**
* 点击取消后,清空所有回复最初状态
*/
handleBack() {
this.value = '';
this.focusStatus = false;
this.isFocus = false;
this.$emit('cancel');
},
/**
* input输入回车后发送回调
*/
handleSearch() {
this.$emit('search', this.value);
},
handleClickoutside() {
this.isFocus = false;
this.focusStatus = false;
}
}
};
</script>