@etsoo/materialui
Version:
TypeScript Material-UI Implementation
30 lines (29 loc) • 1.09 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.CountryList = CountryList;
const jsx_runtime_1 = require("react/jsx-runtime");
const react_1 = __importDefault(require("react"));
const Tiplist_1 = require("./Tiplist");
/**
* Country list
* @param props Props
* @returns Component
*/
function CountryList(props) {
// Destruct
const { items = 16, loadData, loadFavoredIds, name = "countryId", ...rest } = props;
// Ref
const favoredIds = react_1.default.useRef([]);
// Ready
react_1.default.useEffect(() => {
if (loadFavoredIds && favoredIds.current.length === 0)
loadFavoredIds().then((ids) => {
favoredIds.current = ids;
});
}, [loadFavoredIds]);
// Layout
return ((0, jsx_runtime_1.jsx)(Tiplist_1.Tiplist, { name: name, loadData: (keyword, id) => loadData({ id, keyword, favoredIds: favoredIds.current, items }), ...rest }));
}