[improvement] reduce simple computed (#2530)

This commit is contained in:
neverland
2019-01-15 21:58:29 +08:00
committed by GitHub
parent f41b9d3bd3
commit 1d2bd12fef
4 changed files with 45 additions and 57 deletions
+33 -36
View File
@@ -15,19 +15,6 @@ export default sfc({
showSearchResult: Boolean
},
computed: {
searchList() {
if (this.showSearchResult && this.focused) {
return this.searchResult || [];
}
return [];
},
showIcon() {
return this.value && this.focused;
}
},
methods: {
onSelect(express) {
this.$emit('select-search', express);
@@ -36,6 +23,37 @@ export default sfc({
},
render(h) {
const { value, focused, searchResult } = this;
const Finish = value && focused && android && (
<div
slot="icon"
class={bem('finish')}
onClick={() => {
this.$refs.field.blur();
}}
>
{t('complete')}
</div>
);
const SearchList =
focused &&
searchResult &&
this.showSearchResult &&
searchResult.map(express => (
<Cell
key={express.name + express.address}
title={express.name}
label={express.address}
icon="location-o"
clickable
onClick={() => {
this.onSelect(express);
}}
/>
));
return (
<Cell class={bem()}>
<Field
@@ -51,30 +69,9 @@ export default sfc({
placeholder={t('placeholder')}
{...{ on: this.$listeners }}
>
{this.showIcon && android && (
<div
slot="icon"
class={bem('finish')}
onClick={() => {
this.$refs.field.blur();
}}
>
{t('complete')}
</div>
)}
{Finish}
</Field>
{this.searchList.map(express => (
<Cell
key={express.name + express.address}
title={express.name}
label={express.address}
icon="location-o"
clickable
onClick={() => {
this.onSelect(express);
}}
/>
))}
{SearchList}
</Cell>
);
}
+4 -6
View File
@@ -74,11 +74,6 @@ export default sfc({
},
computed: {
// hide bottom field when use search && detail get focused
hideBottomFields() {
return this.searchResult.length && this.detailFocused;
},
areaListLoaded() {
return isObj(this.areaList) && Object.keys(this.areaList).length;
},
@@ -220,9 +215,12 @@ export default sfc({
},
render(h) {
const { data, errorInfo, hideBottomFields } = this;
const { data, errorInfo } = this;
const onFocus = name => () => this.onFocus(name);
// hide bottom field when use search && detail get focused
const hideBottomFields = this.searchResult.length && this.detailFocused;
return (
<div class={bem()}>
<Field