当前位置:网站首页>Wangeditor rich text component - copy available
Wangeditor rich text component - copy available
2022-07-06 11:33:00 【iatkotworld】
wangeditor Rich text component
Function is introduced :
This article records wangeditor The most basic usage , For more usage, please go to the official website .
The whole idea :
Typescript Developed Web Rich text editor , Light weight 、 concise 、 Easy to use 、 Free open source ( From website ).
Concrete realization :
One 、 install :
npm i wangeditor --save
Two 、 Introduce and use :
<template>
<div>
<div ref="richText" style="height: 100%;"></div>
</div>
</template>
<script>
// Import rich text editor
import wangeditor from 'wangeditor';
export default {
name: "richtext",
data() {
return {
richTextEditor: {
},
};
},
mounted() {
// call
this.initRichText();
},
methods: {
// Rich text box initialization
initRichText() {
this.richTextEditor = new WangEditor(self.$refs.richText);
// Configuration menu bar , Cut the menu , Adjust the order
this.richTextEditor.config.menus = [
'head', // title
'bold', // In bold
'fontSize', // Font size
'fontName', // typeface
'italic', // Italics
'underline', // Underline
'strikeThrough', // Delete line
'indent', // Indent
'lineHeight', // Row height
'foreColor', // Text color
'backColor', // Background color
'link', // link
'list', // Sequence
'todo', // To do list
'justify', // alignment
'quote', // quote
// 'emoticon',
// 'image', // picture
// 'video',
'table', // form
// 'code', // Code
'splitLine', // Split line
'undo', // revoke
'redo', // recovery
];
// Use base64 Save the picture
this.richTextEditor.config.uploadImgShowBase64 = true;
// Hide web pictures
this.richTextEditor.config.showLinkImg = false;
// Configure the full screen function button not to display
// this.richTextEditor.config.showFullScreen = true;
// Set the height of the editor content area
this.richTextEditor.config.height = 150;
// Set the of rich text z-index
this.richTextEditor.config.zIndex = 105;
// Disable automatic selection
this.richTextEditor.config.focus = false;
// modify placeholder The prompt text of
this.richTextEditor.config.placeholder = '';
// The menu bar prompt is subscript
// this.richTextEditor.config.menuTooltipPosition = 'bottom';
// Remove the default style of copied text
this.richTextEditor.config.pasteFilterStyle = true;
this.richTextEditor.create();
this.richTextEditor.config.onchange = this.richTextChange;
// assignment
const myHtml = '<p>123</p>';
this.richTextEditor.txt.html(myHtml);
},
// The content of the rich text box changes , Value
richTextChange(newHtml) {
console.log(newHtml);
// obtain html
console.log(this.richTextEditor.txt.html());
// obtain text Text
console.log(this.richTextEditor.txt.text());
},
}
};
</script>
3、 ... and 、 Use ( Form validation , combination element-ui Use ):
Non empty verification , Set a hidden input Components , Be responsible for using the verification prompt .
<template>
<el-form ref="form" :model="form" :rules="rules" size="small" label-position="top" >
<el-form-item label=" Content " prop="noticeContent" >
<el-input v-if="false" v-model="form.content" readonly />
<div ref="richText" class="richText" style="height: 100%;"/>
</el-form-item>
</el-form>
</template>
<script>
export default {
data() {
// Custom validation
const contentLength = (rule, value, callback) => {
if (value === '') {
callback(new Error(' The content cannot be empty ');
} else {
if (this.richTxt.length > 100) {
callback(new Error(' The number of words cannot exceed 100 word ');
}
callback();
}
};
return {
form: {
content: ''
},
// Form validation
rules: {
// Announcement content
content: [
{
validator: contentLength, trigger: 'change' }
]
},
richTxt: '',
// Rich text editing component
richTextEditor: {
},
};
},
watch: {
// Announcement content verification monitoring
'form.content': {
handler() {
// Call form validation
this.$refs.form.validateField('content');
}
}
},
mounted() {
this.initRichText();
},
methods: {
// Rich text box initialization
initRichText() {
// Omit the initialization code above
// binding change event
this.richTextEditor.config.onchange = this.richTextChange;
},
// Copy the contents of the rich text box
richTextChange(newHtml) {
this.richTxt = this.richTextEditor.txt.text();
this.form.content= newHtml;
}
}
};
</script>
边栏推荐
- AcWing 179. Factorial decomposition problem solution
- QT creator uses Valgrind code analysis tool
- 牛客Novice月赛40
- 快来走进JVM吧
- About string immutability
- Password free login of distributed nodes
- 【flink】flink学习
- DICOM: Overview
- Introduction and use of automatic machine learning framework (flaml, H2O)
- wangeditor富文本组件-复制可用
猜你喜欢
随机推荐
Punctual atom stm32f103zet6 download serial port pin
PHP - whether the setting error displays -php xxx When PHP executes, there is no code exception prompt
L2-006 树的遍历 (25 分)
Julia 1.6 1.7 common problem solving
About string immutability
yarn安装与使用
学习问题1:127.0.0.1拒绝了我们的访问
Install mongdb tutorial and redis tutorial under Windows
2019腾讯暑期实习生正式笔试
jS数组+数组方法重构
AcWing 1298. Solution to Cao Chong's pig raising problem
Base de données Advanced Learning Notes - - SQL statements
vs2019 第一个MFC应用程序
Solution to the practice set of ladder race LV1 (all)
Summary of numpy installation problems
Cookie setting three-day secret free login (run tutorial)
02 staff information management after the actual project
QT creator design user interface
【CDH】CDH/CDP 环境修改 cloudera manager默认端口7180
TypeScript