@uiw/react-amap-auto-complete
Version:
通常情况下,开发者需要根据表单控件相关事件的触发来执行 `AMap.AutoComplete` 的 search 方法,并将返回结果绘制成DOM显示到页面上。
35 lines • 1.02 kB
JavaScript
import { useState, useEffect } from 'react';
import { useEventProperties, useSettingProperties } from '@uiw/react-amap-utils';
export var useAutoComplete = function useAutoComplete(props) {
if (props === void 0) {
props = {};
}
var [autoComplete, setAutoComplete] = useState();
useEffect(() => {
if (AMap && !autoComplete) {
var instance;
if (AMap.v) {
AMap.plugin(['AMap.Autocomplete'], () => {
instance = new AMap.Autocomplete(props);
setAutoComplete(instance);
});
} else {
AMap.plugin(['AMap.AutoComplete'], () => {
instance = new AMap.AutoComplete(props);
setAutoComplete(instance);
});
}
return () => {
if (instance) {
setAutoComplete(undefined);
}
};
}
}, []);
useSettingProperties(autoComplete, props, ['Type', 'City', 'CityLimit']);
useEventProperties(autoComplete, props, ['onChoose', 'onSelect']);
return {
autoComplete,
setAutoComplete
};
};