UNPKG

@cainiaofe/cn-ui-m

Version:
33 lines (32 loc) 1.46 kB
import { __awaiter, __generator } from "tslib"; import React, { useState } from 'react'; import { CnCard, CnDemoPage, CnSwitch } from "../../.."; // delayer var delayer = function (duration) { return new Promise(function (resolve) { return setTimeout(resolve, duration); }); }; export var 异步响应 = function () { var _a = useState(false), asyncChecked = _a[0], setAsyncChecked = _a[1]; var _b = useState(false), asyncLoading = _b[0], setAsyncLoading = _b[1]; // on async switch changed var onAsyncSwitchChange = function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: if (asyncLoading) return [2 /*return*/]; setAsyncLoading(true); return [4 /*yield*/, delayer(1000)]; case 1: _a.sent(); setAsyncLoading(false); setAsyncChecked(!asyncChecked); return [2 /*return*/]; } }); }); }; return (React.createElement(CnDemoPage, { title: "\u5F02\u6B65\u54CD\u5E94" }, React.createElement(CnCard, { title: "\u5F02\u6B65\u54CD\u5E94" }, React.createElement(CnSwitch, { checked: asyncChecked, loading: asyncLoading, onChange: onAsyncSwitchChange })))); }; export default { title: 'demo/CnSwitch' };