import { createNamespace } from '../utils'; import { isAndroid } from '../utils/validate/system'; import Cell from '../cell'; import Field from '../field'; const [createComponent, bem, t] = createNamespace('address-edit-detail'); const android = isAndroid(); export default createComponent({ props: { value: String, error: Boolean, focused: Boolean, detailRows: Number, searchResult: Array, detailMaxlength: Number, showSearchResult: Boolean }, computed: { shouldShowSearchResult() { return this.focused && this.searchResult && this.showSearchResult; } }, methods: { onSelect(express) { this.$emit('select-search', express); this.$emit( 'input', `${express.address || ''} ${express.name || ''}`.trim() ); }, onFinish() { this.$refs.field.blur(); }, genFinish() { const show = this.value && this.focused && android; if (show) { return (
{t('complete')}
); } }, genSearchResult() { const { value, shouldShowSearchResult, searchResult } = this; if (shouldShowSearchResult) { return searchResult.map(express => ( { this.onSelect(express); }} scopedSlots={{ title: () => express.name && (
${value}` )} /> ) }} /> )); } } }, render() { return ( {this.genSearchResult()} ); } });