/** * 多行文本框 */ import template from "./Textarea.html"; import style from "antd/lib/input/style/index.css"; class Textarea { props = { context: Object, showCount: Boolean, maxLength: Number, placeholder: String, onChange: Function, value: String, }; state = { value: this.props.value, count: 0, maxLength: this.props.maxLength || "off", }; template = template; handleKeyup(event) { if (!this.event) { this.event = event; } if (this.state.maxLength === "off") { return; } let target = event.target; this.state.count = target.value.length; } handleClick(event) { if (!this.event) { this.event = event; } } handleChange() { // this.props.onChange(this.state.value, this.props.context); this.props.onChange({ event: this.event }) } constructor() { if (!document.querySelector("#ant-input")) { let styleElement = document.createElement("style"); styleElement.setAttribute("id", "ant-input"); styleElement.setAttribute("type", "text/css"); styleElement.innerHTML = style.toString(); document.head.appendChild(styleElement); } } }