fastlion-amis
Version:
一种MIS页面生成工具
48 lines (47 loc) • 1.77 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var react_1 = (0, tslib_1.__importDefault)(require("react"));
var markdown_1 = (0, tslib_1.__importDefault)(require("../utils/markdown"));
var Markdown = /** @class */ (function (_super) {
(0, tslib_1.__extends)(Markdown, _super);
function Markdown(props) {
var _this = _super.call(this, props) || this;
_this.htmlRef = _this.htmlRef.bind(_this);
return _this;
}
Markdown.prototype.htmlRef = function (dom) {
this.dom = dom;
if (!dom) {
return;
}
this._render();
};
Markdown.prototype.componentDidUpdate = function (nextProps) {
if (this.props.content !== nextProps.content) {
this._render();
}
};
Markdown.prototype._render = function () {
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
var _a, content, options;
return (0, tslib_1.__generator)(this, function (_b) {
_a = this.props, content = _a.content, options = _a.options;
this.dom.innerHTML = (0, markdown_1.default)(content, options);
return [2 /*return*/];
});
});
};
Markdown.prototype.render = function () {
return (react_1.default.createElement("div", { "data-testid": "markdown-body", className: "markdown-body", ref: this.htmlRef }));
};
Markdown.defaultProps = {
content: '',
options: {
linkify: true
}
};
return Markdown;
}(react_1.default.Component));
exports.default = Markdown;
//# sourceMappingURL=./components/Markdown.js.map
;