xy-select
Version:
基于React的下拉列表组件
27 lines • 889 B
JavaScript
import { useState } from "react";
/**
* 管理Select下拉列表的可视与对齐
* @param innerRef select选择框
*/
export default function useVisible(innerRef, disabledRef) {
var _a = useState(false), visible = _a[0], setVisible = _a[1];
function changeVisible(v, event) {
if (disabledRef.current) {
return;
}
var element = innerRef.current;
var target = event && event.target;
if (target && element) {
var closeTags = element.querySelectorAll(".xy-select-item__remove");
var isClose = [].some.call(closeTags, function (tag) { return tag === target || tag.contains(target); });
if (!isClose) {
setVisible(v);
}
}
else {
setVisible(v);
}
}
return [visible, changeVisible];
}
//# sourceMappingURL=useVisible.js.map