@cainiaofe/cn-ui-m
Version:
33 lines (32 loc) • 1.46 kB
JavaScript
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' };