当前位置: 首页 > news >正文

网站空间在哪买好专门做推荐的网站

网站空间在哪买好,专门做推荐的网站,上海建网站公司,在什么网站做外贸前言#xff1a; 整理下常用的富文本编辑器工具。 vue3: 实现效果#xff1a; 实现步骤#xff1a; 1、安装插件#xff0c; 编辑器核心插件 vueup/vue-quill yarn add pnpm i npm i cnpm i vueup/vue-quill vueup/vue-quill 2、安装选择性插件         整理下常用的富文本编辑器工具。 vue3: 实现效果 实现步骤 1、安装插件  编辑器核心插件 vueup/vue-quill yarn add        pnpm i      npm i        cnpm i                          vueup/vue-quill vueup/vue-quill 2、安装选择性插件  缩放图片插件 quill-blot-formatter 3、新建组件 1引入基础编辑器插件 // 引入富文本编辑器与样式 import { Quill, QuillEditor } from vueup/vue-quill import vueup/vue-quill/dist/vue-quill.snow.css 2引入图片缩放插件 // 引入缩放图片的插件 import BlotFormatter from quill-blot-formatter Quill.register(modules/blotFormatter, BlotFormatter) 3编辑器的配置 4增加一个划过头部的提示效果 5增加一个复制粘贴的效果 customEditor.vue 源码 templatediv classeditor !-- 这两个都是获取值的必要条件 v-model:content contentTypehtml --quill-editorrefeditorRefv-model:contentcontent:optionsoptionscontentTypehtml/quill-editor/div /templatescript setup langts // 引入富文本编辑器与样式 import { Quill, QuillEditor } from vueup/vue-quill import vueup/vue-quill/dist/vue-quill.snow.css// 引入缩放图片的插件 import BlotFormatter from quill-blot-formatter Quill.register(modules/blotFormatter, BlotFormatter)const content ref() const editorRef ref(null) // 富文本配置 const options ref({theme: snow, // 使用snow主题modules: {// 富文本头部栏的功能配置toolbar: {container: [[bold, italic, underline, strike], // 加粗 斜体 下划线 删除线[{ color: [] }, { background: [] }], // 字体颜色、字体背景颜色[{ align: [] }], // 对齐方式[{ size: [small, false, large, huge] }], // 字体大小[{ font: [] }], // 字体种类[{ header: [1, 2, 3, 4, 5, 6, false] }], // 标题[{ direction: ltl }], // 文本方向[{ direction: rtl }], // 文本方向[{ indent: -1 }, { indent: 1 }], // 缩进[{ list: ordered }, { list: bullet }], // 有序、无序列表[{ script: sub }, { script: super }], // 上标/下标[blockquote, code-block], // 引用 代码块[clean], // 清除文本格式[link, image, video], // 链接、图片、视频],handlers: {image: imageHandler, // 点击图片触发事件},},// 图片缩放blotFormatter: {// 可以在这里设置缩放样式// overlay: {// style: {// border: 2px solid red,// }// },toolbar: {mainClassName: blot-formatter__toolbar}}} }) // 如果方法报错把imageHandler 方法放到options的上面 // 处理富文本图片上传 const imageHandler () {// 创建一个文件输入元素const input document.createElement(input);input.setAttribute(type, file);input.setAttribute(accept, image/*);// 模拟点击打开文件选择对话框input.click();// 当用户选择文件后触发的事件input.onchange async () {// 获取用户选择的文件const file input.files ? input.files[0] : null;if (file) {// 创建一个 FormData 对象用于文件上传const formData new FormData();formData.append(file, file);try {/*** todo 可以选中图片然后把file文件给后端后端给存到文件服务器然后返回一个线上地址* 这里的abc替换成你的请求接口方法,也可以使用 axios 发送 POST 请求* */// todo// 使用 axios 发送 POST 请求将文件上传到服务器,这里的abc替换成你的请求接口方法// 可以选中图片然后把file文件给后端后端给存到文件服务器然后返回一个线上地址const res await abc(formData);// 确保获取到 Quill 编辑器实例const quill toRaw(editorRef.value).getQuill()if (quill) {// 获取当前光标位置const range quill.getSelection(true);// 在当前光标位置插入上传的图片quill.insertEmbed(range.index, image, res.data);}} catch (error) {alert(图片上传失败)}}}; }// toolbar标题,划过富文本头部提示信息 const titleConfig [{ Choice: .ql-insertMetric, title: 跳转配置 },{ Choice: .ql-bold, title: 加粗 },{ Choice: .ql-italic, title: 斜体 },{ Choice: .ql-underline, title: 下划线 },{ Choice: .ql-header, title: 段落格式 },{ Choice: .ql-strike, title: 删除线 },{ Choice: .ql-blockquote, title: 块引用 },{ Choice: .ql-code, title: 插入代码 },{ Choice: .ql-code-block, title: 插入代码段 },{ Choice: .ql-font, title: 字体 },{ Choice: .ql-size, title: 字体大小 },{ Choice: .ql-list[valueordered], title: 编号列表 },{ Choice: .ql-list[valuebullet], title: 项目列表 },{ Choice: .ql-direction, title: 文本方向 },{ Choice: .ql-header[value1], title: h1 },{ Choice: .ql-header[value2], title: h2 },{ Choice: .ql-align, title: 对齐方式 },{ Choice: .ql-color, title: 字体颜色 },{ Choice: .ql-background, title: 背景颜色 },{ Choice: .ql-image, title: 图像 },{ Choice: .ql-video, title: 视频 },{ Choice: .ql-link, title: 添加链接 },{ Choice: .ql-formula, title: 插入公式 },{ Choice: .ql-clean, title: 清除字体格式 },{ Choice: .ql-script[valuesub], title: 下标 },{ Choice: .ql-script[valuesuper], title: 上标 },{ Choice: .ql-indent[value-1], title: 向左缩进 },{ Choice: .ql-indent[value1], title: 向右缩进 },{ Choice: .ql-header .ql-picker-label, title: 标题大小 },{ Choice: .ql-header .ql-picker-item[data-value1], title: 标题一 },{ Choice: .ql-header .ql-picker-item[data-value2], title: 标题二 },{ Choice: .ql-header .ql-picker-item[data-value3], title: 标题三 },{ Choice: .ql-header .ql-picker-item[data-value4], title: 标题四 },{ Choice: .ql-header .ql-picker-item[data-value5], title: 标题五 },{ Choice: .ql-header .ql-picker-item[data-value6], title: 标题六 },{ Choice: .ql-header .ql-picker-item:last-child, title: 标准 },{ Choice: .ql-size .ql-picker-item[data-valuesmall], title: 小号 },{ Choice: .ql-size .ql-picker-item[data-valuelarge], title: 大号 },{ Choice: .ql-size .ql-picker-item[data-valuehuge], title: 超大号 },{ Choice: .ql-size .ql-picker-item:nth-child(2), title: 标准 },{ Choice: .ql-align .ql-picker-item:first-child, title: 居左对齐 },{ Choice: .ql-align .ql-picker-item[data-valuecenter], title: 居中对齐 },{ Choice: .ql-align .ql-picker-item[data-valueright], title: 居右对齐 },{ Choice: .ql-align .ql-picker-item[data-valuejustify], title: 两端对齐 } ] // 给富文本框工具栏加上鼠标悬浮中文提示 const initTitle () {for (let item of titleConfig) {// .editor 是富文本编辑器的类名let tip document.querySelector(.editor item.Choice);if (tip) {tip.setAttribute(title, item.title);}} }// 自定义粘贴事件 const customPaste(e){// 获取当前最新时间 改名啥的可以用let newTime new Date().getTime()const clipboardData e.clipboardData // 粘贴信息const types clipboardData.types // 当前文件类型if (types.includes(Files)) {e.preventDefault();e.clipboardData.files.forEach(file{// 在这里可以拿到粘贴后的图片与文件信息// 在这里做操作})} }onMounted((){nextTick((){// 给富文本框工具栏加上鼠标悬浮中文提示initTitle()})// 给富文本增加粘贴事件editorRef.value.getQuill().root.addEventListener(customPaste, customPaste, false) })/scriptstyle scoped langscss .editor{width: 100%;:deep(.ql-editor) {min-height: 200px;} }/stylevue2 实现步骤 1、安装插件 基础编辑器插件 npm install vue-quill-editor --save 进阶图片版本插件拖拽缩放图片 npm install quill-image-drop-module -S //允许粘贴图像并将其拖放到编辑器中。 npm install quill-image-resize-module -S //允许调整图像大小 2、界面中使用 1全局引入插件main.js中 import VueQuillEditor from vue-quill-editor // 引入相关css import quill/dist/quill.core.css import quill/dist/quill.snow.css import quill/dist/quill.bubble.cssVue.use(VueQuillEditor) 2局部引入插件直接在你自己封装的vue组件内部加 import quill/dist/quill.core.css import quill/dist/quill.snow.css import quill/dist/quill.bubble.cssimport { quillEditor, Quill } from vue-quill-editor //引入插件export default {components: {quillEditor}} 3如果装了图片拖拽以后的引入 vue.config.js  中 chainWebpack: (config) {config.plugin(provide).use(webpack.ProvidePlugin,[{window.Quill: quill/dist/quill.js,Quill: quill/dist/quill.js}]) } 组件内部引入、全局就main.js中引入 import quill/dist/quill.core.css import quill/dist/quill.snow.css import quill/dist/quill.bubble.css import { quillEditor, Quill } from vue-quill-editor// 新增部分 import imageResize from quill-image-resize-module Quill.register(modules/imageResize, imageResize ) import { ImageDrop } from quill-image-drop-module Quill.register(modules/imageDrop, ImageDrop)4具体使用 html部分引入插件后注册后直接用以子组件的形式v-model 监听就跟正常的一样 js部分 注意如果不需要图片拖拽就不用看第三步把配置的直接删除就行了 customEditor.vue 源码 templatediv classeditorquill-editorclassql-editorv-modelcontentrefmyQuillEditor:optionseditorOptionbluronEditorBlur($event)focusonEditorFocus($event)changeonEditorChange($event)/quill-editor/div /templatescript import quill/dist/quill.core.css import quill/dist/quill.snow.css import quill/dist/quill.bubble.css import { quillEditor, Quill } from vue-quill-editor// 如果要图片拖拽功能增加这两个插件 import imageResize from quill-image-resize-module Quill.register(modules/imageResize, imageResize ) import { ImageDrop } from quill-image-drop-module Quill.register(modules/imageDrop, ImageDrop)export default {name: customEditor,components: {quillEditor},data(){return{content:,// 富文本功能配置editorOption:{modules:{// 如果想增加事件控制比如图片的事件参考我上面vue3的配置是一样的用法toolbar:[[bold, italic, underline, strike], //加粗斜体下划线删除线[blockquote, code-block], //引用代码块[{ header: 1 }, { header: 2 }], // 标题键值对的形式1、2表示字体大小[{ list: ordered}, { list: bullet }], //列表[{ script: sub}, { script: super }], // 上下标[{ indent: -1}, { indent: 1 }], // 缩进[{ direction: rtl }], // 文本方向[{ size: [small, false, large, huge] }], // 字体大小[{ header: [1, 2, 3, 4, 5, 6, false] }], //几级标题[{ color: [] }, { background: [] }], // 字体颜色字体背景颜色[{ font: [] }], //字体[{ align: [] }], //对齐方式[clean], //清除字体样式[image,video] //上传图片、上传视频]},// 如果要图片拖拽功能增加下面内容配置imageDrop: true, // 拖动加载图片组件。imageResize: { //调整大小组件。displayStyles: {backgroundColor: black,border: none,color: white},modules: [ Resize, DisplaySize, Toolbar ]}},}},methods:{// 失去焦点事件onEditorBlur(e){console.log(e, 失去焦点事件);},// 获得焦点事件onEditorFocus(e){console.log(e, 获得焦点事件);},// 内容改变事件// html是带标签text是纯文本onEditorChange({ quill, html, text }){this.content html},},mounted() {this.content h1我是个默认测试数据/h1} } /scriptstyle scoped langscss .editor{width: 100%;:deep(.ql-editor) {min-height: 200px;} }/style目前好用的其他工具 monaco-editor  能实现跟vscode编辑器一样的在线编辑代码效果还能代码比较 官网api地址点我 其他资料地址 Monaco-Editor在Vue中使用(实现代码编辑与diff代码比较)--类似vscode代码编辑器_monaco editor vue-CSDN博客文章浏览阅读1.3k次点赞5次收藏13次。Monaco-Editor 是一个由 Microsoft 开发的 Web 代码编辑器它是 Visual Studio Code 的浏览器版本。在 Vue 项目中集成 Monaco-Editor 可以提供代码编辑、语法高亮、智能提示等功能。src/codeEditorMonaco.vue或者把以下代码放到app.vue文件中1、安装使用最好安装指定版本我是 vue2 安装的版本。2、配置vue.config.js。_monaco editor vuehttps://blog.csdn.net/weixin_44834981/article/details/139239575 参考文献 在Vue项目中vue-quill-editor的安装与使用【详细图解过程包含图片的缩放拖拽】-CSDN博客
http://www.sczhlp.com/news/170169/

相关文章:

  • 学生管理系统面向对象分析报告
  • 荷兰青少年通过Telegram被招募,涉嫌参与俄罗斯支持的黑客活动
  • 企业网站策划方案书建站视频教程网
  • 公司名称 网站域名 关联wordpress 绕过后台
  • 网站设计英文报告网站建设徐州百度网络网站
  • 励志做的很好的网站seo排名教程
  • 鼎豪网站建设windows server2012 wordpress
  • dw网页制作教程个人网站租赁合同模板
  • 永康电子商务网站建设公司管理信息系统
  • 手机网站大全1广州注册公司流程及资料
  • 俄语网站模板阿里域名购买网站
  • 上海好的高端网站建设制作app需要什么软件
  • 影视公司网站建设网站空间购买北京
  • 网站建设公司 - 百度wordpress表情
  • 移动端 pc网站开发惠州市网站建设企业
  • 给别人做网站的话术免费ftp 网站
  • 网站推广策划方式什么是网站运营推广
  • 宣城市网站集约化建设自己做的网址危险网站
  • 大气网站源码下载网络推广培训教程
  • 网站添加wordpress博客网站打开空白页
  • 做筹款的网站需要什么资质潍坊企业建站系统
  • 如何绑定网站衡阳网页设计
  • 中小企业网站建设教程苏州网页服务开发与网站建设
  • 口碑好的网站定制公司企业网站管理系统 cms
  • 永兴县网站建设公司哪家好只做网站可以在百度里收到吗
  • 百胜招聘 网站开发国外的域名注册网站
  • 自定义网站建设惠州seo外包v1
  • 做网站需要什么书做网站卖什么
  • day18 课程(模块 )
  • Kubernetes(K8s)核心架构解析与实用命令大全 - 教程