uni-app 实现写文章或写新闻的页面

发布于 1周前 作者 h691938207 来自 Uni-App

uni-app 实现写文章或写新闻的页面

主要是里面要有富文本编辑器中可以编辑文字和图片的需求

3 回复

hello uni-app里有一个markdown编辑器示例。看能不能用。


我看见那个md的编辑器了 但是对于用户来说 使用起来是不是有点怪异 用户也不懂那些格式

在uni-app中实现一个写文章或写新闻的页面,可以利用其丰富的组件和Vue.js的框架特性。以下是一个基本的代码示例,展示了如何创建一个简单的文章编辑页面。这个页面包括标题、内容编辑区以及提交按钮。

首先,确保你已经安装了uni-app开发环境,并创建了一个新的项目。

1. 页面结构 (pages/editArticle/editArticle.vue)

<template>
  <view class="container">
    <view class="title-input">
      <input v-model="article.title" placeholder="请输入文章标题" />
    </view>
    <view class="content-editor">
      <rich-text :nodes="article.content" />
      <editor
        v-model="article.contentHtml"
        @input="handleInput"
        :placeholder="placeholder"
      />
    </view>
    <button @click="submitArticle">提交文章</button>
  </view>
</template>

<script>
export default {
  data() {
    return {
      article: {
        title: '',
        contentHtml: '<p></p>' // 初始化为空段落,避免编辑器初始化异常
      },
      placeholder: '在这里输入文章内容...'
    };
  },
  methods: {
    handleInput(e) {
      // 这里可以处理编辑器输入事件,如果需要的话
      this.article.content = e.detail.html; // 同步原始内容,便于后续处理
    },
    submitArticle() {
      // 提交文章逻辑,例如发送到服务器
      console.log('Submitting article:', this.article);
      // 示例:发送POST请求到服务器
      // uni.request({
      //   url: 'https://example.com/api/articles',
      //   method: 'POST',
      //   data: {
      //     title: this.article.title,
      //     content: this.article.content
      //   },
      //   success: (res) => {
      //     console.log('Article submitted successfully:', res.data);
      //   }
      // });
    }
  }
};
</script>

<style>
.container {
  padding: 20px;
}
.title-input input {
  width: 100%;
  padding: 10px;
  margin-bottom: 20px;
  border: 1px solid #ddd;
  border-radius: 4px;
}
.content-editor {
  margin-bottom: 20px;
}
button {
  padding: 10px 20px;
  background-color: #007aff;
  color: #fff;
  border: none;
  border-radius: 4px;
}
</style>

说明

  • <input>:用于输入文章标题。
  • <rich-text>:用于显示富文本内容(预览)。
  • <editor>:uni-app提供的富文本编辑器组件,用于输入文章内容。注意,<editor>组件在真机上表现更佳,且部分功能(如图片上传)可能需要额外配置。
  • handleInput 方法:处理编辑器内容变化,同步原始HTML内容。
  • submitArticle 方法:示例提交逻辑,实际应用中应替换为具体的API调用。

这个示例提供了一个基本的文章编辑页面框架,你可以根据实际需求进一步扩展功能,如添加图片上传、实时保存草稿等。

回到顶部