zmp-vue
Version:
Build full featured iOS & Android apps using ZMP & Vue
25 lines (24 loc) • 716 B
JavaScript
import { onMounted, onBeforeUnmount } from 'vue';
import { zmpready, zmp } from './zmp';
import { extend } from './utils';
export var useSmartSelect = function useSmartSelect(props, setInstance, getEl) {
var zmpSmartSelect;
onMounted(function () {
zmpready(function () {
if (props.smartSelect) {
var ssParams = extend({
el: getEl()
}, props.smartSelectParams || {});
zmpSmartSelect = zmp.smartSelect.create(ssParams);
setInstance(zmpSmartSelect);
}
});
});
onBeforeUnmount(function () {
if (zmpSmartSelect && zmpSmartSelect.destroy) {
zmpSmartSelect.destroy();
}
zmpSmartSelect = null;
setInstance(zmpSmartSelect);
});
};