vue 富文本使用

"vue-quill-editor": "^3.0.6", 安装依赖

<template>

    <div class="contPage">

        <div class="contentPage">

        <div class="container">

            <div class="containerTitle" style="cursor: pointer;" @click="back">

                <i class="el-icon-back "></i> 

                 { {$route.query.row ? '编辑首页公告' : '添加首页公告'}}

                 </div>

            <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">

                

                <el-form-item label="活动物业">

                    <el-select v-model="ruleForm.region" placeholder="选择物业">

                        <el-option label="选择物业" value="shanghai"></el-option>

                        <el-option label="东岳花苑物业" value="beijing"></el-option>

                    </el-select>

                </el-form-item>

                <el-form-item label="标题">

                    <el-input v-model="ruleForm.address"></el-input>

                </el-form-item>

                

                <el-form-item label="内容">

                    <quill-editor ref="myTextEditor" v-model="content" :options="editorOption"></quill-editor>

                </el-form-item>

                <el-form-item label="是否选择所有小区" label-width="120">

                    <el-radio-group v-model="ruleForm.resource">

                        <el-radio label="是"></el-radio>

                        <el-radio label="否"></el-radio>

                    </el-radio-group>

                </el-form-item>

                <el-form-item>

                    <el-button type="primary" @click="submitForm()">提交</el-button>

                </el-form-item>

            </el-form>

            

        </div>

    </div>

    </div>

</template>

<script>

import 'quill/dist/quill.core.css';

import 'quill/dist/quill.snow.css';

import 'quill/dist/quill.bubble.css';

import { quillEditor } from 'vue-quill-editor';

import {tableDataNotice} from "../../mock/pageManagement"

export default {

    name: 'editor',

    data: function () {

        return {

            content: '',

            editorOption: {

                placeholder: 'Hello World'

            },

            ruleForm: {

                address: "",

                name: '',

                region: '',

                type: [],

                resource: '',

            },

            rules: {

                name: [

                    { required: true, message: '请输入活动名称', trigger: 'blur' },

                    { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }

                ],

                region: [{ required: true, message: '请选择活动区域', trigger: 'change' }],

                resource: [{ required: true, message: '请选择活动资源', trigger: 'change' }],

            }

        };

    },

    components: {

        quillEditor

    },

    mounted() {

      let flag = this.$route.query.flag;

      if(flag == 'edit') {

          this.ruleForm = this.$route.query.row;

      }

    },

    methods: {

        back() {

            this.$router.go(-1);

        },

        onEditorChange({ editor, html, text }) {

            this.content = html;

        },

        submit() {

            console.log(this.content);

            this.$message.success('提交成功!');

        },

        submitForm() {

            this.ruleForm.id = tableDataNotice.length +1;

            tableDataNotice.push(this.ruleForm);

            this.$router.push("/notice");

        }

    }

};

</script>

<style scoped>

.contPage {

    padding: 20px;

}

.editor-btn {

    margin-top: 20px;

}

.contentPage {

    width: 100%;

    height: 600px;

    overflow-y: scroll;

}

.containerTitle {

    box-sizing: border-box;

    margin: 20px;

    border-bottom: 1px solid #f1f1f1;

    padding-bottom: 20px;

}

</style>

猜你喜欢

转载自blog.csdn.net/wwf1225/article/details/115227594