作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
尝试添加富文本编辑器,但遇到标题中的错误。基本上我需要知道如何在 TypeScript 中声明我的类组件具有哪些属性。这是一个 react 项目。有人有主意吗?这是代码。我遇到的部分是涉及 .modules 时。
import React from 'react';
import ReactQuill from 'react-quill'; // ES6
type modules = {
}
class MyEditor<modules> extends React.Component<any, any, {}> {
constructor(props) {
super(props)
this.state = { text: this.props.text } // You can also pass a Quill Delta here
this.handleChange = this.handleChange.bind(this)
}
shouldComponentUpdate(nextProps) { // error here
if (nextProps.className) {
return false
}
}
handleChange(value) {
this.setState({ text: value })
this.props.gatherBody(value)
}
render() {
return (
<ReactQuill value={this.state.text}
onChange={this.handleChange}
modules={MyEditor.modules}
/>
)
}
}
MyEditor.modules = {
toolbar: [
[{ 'header': '1' }, { 'header': '2' }, { 'font': [] }],
[{ size: [] }],
['bold', 'italic', 'underline', 'strike', 'blockquote'],
[{ 'list': 'ordered' }, { 'list': 'bullet' },
{ 'indent': '-1' }, { 'indent': '+1' }],
['clean']
],
clipboard: {
// toggle to add extra line breaks when pasting HTML:
matchVisual: false,
}
}
export default MyEditor
最佳答案
您必须在组件内声明静态属性。代码如下。
import React, { Component } from 'react';
import ReactQuill from 'react-quill'; // ES6
class MyEditor extends React.Component<any, any, {}> {
constructor(props) {
super(props)
this.state = { text: this.props.text } // You can also pass a Quill Delta here
this.handleChange = this.handleChange.bind(this)
}
static modules: {} = {
modules: {}
}
shouldComponentUpdate(nextProps) { // error here
if (nextProps.className) {
return false
}
}
handleChange(value) {
this.setState({ text: value })
this.props.gatherBody(value)
}
render() {
return (
<ReactQuill value={this.state.text}
onChange={this.handleChange}
modules={MyEditor.modules}
/>
)
}
}
MyEditor.modules = {
toolbar: [
[{ 'header': '1' }, { 'header': '2' }, { 'font': [] }],
[{ size: [] }],
['bold', 'italic', 'underline', 'strike', 'blockquote'],
[{ 'list': 'ordered' }, { 'list': 'bullet' },
{ 'indent': '-1' }, { 'indent': '+1' }],
['clean']
],
clipboard: {
// toggle to add extra line breaks when pasting HTML:
matchVisual: false,
}
}
export default MyEditor
关于javascript - 类型 'modules' .ts(2339) 上不存在属性 'typeof MyEditor',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57635723/
尝试添加富文本编辑器,但遇到标题中的错误。基本上我需要知道如何在 TypeScript 中声明我的类组件具有哪些属性。这是一个 react 项目。有人有主意吗?这是代码。我遇到的部分是涉及 .modu
我是一名优秀的程序员,十分优秀!