UNPKG

@antmjs/vantui

Version:

一套适用于Taro3及React的vantui组件库

68 lines (64 loc) 1.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = Message; var _react = require("react"); var _components = require("@tarojs/components"); var _jsxRuntime = require("react/jsx-runtime"); function Message(props) { var status = props.status, message = props.message, _props$feedback = props.feedback, feedback = _props$feedback === void 0 ? 'failed' : _props$feedback, className = props.className; var config = (0, _react.useMemo)(function () { var mess = ''; var color = '#fff'; var ifShow = false; // 优先处理特殊反馈模式 if (feedback === 'hidden') { return { color: color, mess: mess, ifShow: false }; } // 通用条件判断 switch (status) { case 'pendding': mess = ''; break; case 'reject': if (['failed', 'all'].includes(feedback)) { mess = message || ''; color = 'red'; ifShow = true; } break; case 'resolve': if (['success', 'all'].includes(feedback)) { mess = '校验通过'; color = 'green'; ifShow = true; } break; } // 处理'all'模式的覆盖逻辑 if (feedback === 'all') { ifShow = true; } return { color: color, mess: mess, ifShow: ifShow }; }, [status, message, feedback]); return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.View, { className: "vant-form-message ".concat(config.ifShow ? "vant-form-message-show" : '', " ").concat(className), style: { color: config.color }, children: config.mess }); }