nuxt.js使用ant-design-vue实现评论组件_nuxt 帖子评论显示组件-程序员宅基地

技术标签: nuxt.js  前端  vue.js  javascript  

前言

此文为Nuxt引入ant-design-vue+使用评论组件过程记录。

ant-design-vue

ant-design-vue是 Ant Design 的 Vue 实现,开发和服务于企业级后台产品。具有丰富的组件,但语法较为滞后,很多地方没有得到同步更新与维护。此次论坛搭建为方便起见使用了该组件库的评论组件。

官方网址:www.antdv.com/docs/vue/in…

开源地址:github.com/vueComponen…

nuxt引入ant-design-vue

 

  1. npm i --save ant-design-vue
  2. 在plugins中创建ant-design-vue.js
plugins/ant-design-vue.js

import Vue from 'vue'
import Antd from 'ant-design-vue'
import 'ant-design-vue/dist/antd.css' // Per Ant Design's docs

Vue.use(Antd)

 3.nuxt.config.js配置

  plugins: [
    '@/plugins/ant-design-vue'
  ],

评论组件的使用

文档地址:www.antdv.com/components/…

 

<a-list
          v-if="comments.length"
          :data-source="comments"
          item-layout="horizontal"
        >
          <a-list-item slot="renderItem" slot-scope="item" :key="item.id">
            <a-comment>
              <a slot="author">{
   {item.author}}</a>
              <a-avatar
                slot="avatar"
                src="https://cdn.vuetifyjs.com/images/john.jpg"
                alt="User"
              />
              <p slot="content">
                {
   {item.content}}
              </p>
              <a-tooltip slot="datetime">
                <span> 发表于 {
   { item.dateTime }}</span>
              </a-tooltip>
              <a-tooltip title="Delete" v-if="item.auth === true">//鉴权使用,只有本用户及管理员可以删评论
                <a>
                  <a-icon
                    type="delete"
                    color="#1976d2"
                    @click="deleteComment(item)"
                  >
                  </a-icon>
                </a>
              </a-tooltip>
            </a-comment>
          </a-list-item>
        </a-list>
        <a-comment>
          <a-avatar
            slot="avatar"
            src="https://cdn.vuetifyjs.com/images/john.jpg"
            alt="匿名用户"
          >
          </a-avatar>
          <div slot="content">
            <a-form-item>
              <a-textarea :rows="4" :value="value" @change="handleCommentChange">
              </a-textarea>
            </a-form-item>
            <a-form-item>
              <a-button html-type="submit" :loading="submitting" type="primary" @click="handleCommentSubmit">
                发表评论
              </a-button>
            </a-form-item>
          </div>
        </a-comment>

data(){
	return {
        value: '',
        comments: [],
        submitting: false,
    }
}

methods: {
      async handleCommentSubmit() {
        if (!this.value) {
          return;
        }
        if (!this.$store.state.username) {
          return this.$router.push('/login');
        }
        this.submitting = true;
        //TODO getdata() from server
        this.value = '';
      },
      handleCommentChange(e) {
        this.value = e.target.value;
      },
}

 

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42232156/article/details/126140675

智能推荐

jsp,el表达式,foreach循环_el表达式 循环-程序员宅基地

文章浏览阅读4.4k次,点赞2次,收藏7次。一、jsp代码<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><% List list = new ArrayList(); for (int i = 0; i <= 9; i++) { list.add(._el表达式 循环

《数学模型(第五版)》学习笔记(2)第3章 简单的优化模型 第4章 数学规划模型_数学模型第五版章节综述-程序员宅基地

文章浏览阅读875次,点赞18次,收藏16次。《数学模型(第五版)》学习笔记(2)第3章 简单的优化模型 第4章 数学规划模型_数学模型第五版章节综述

VUE2从入门到精通(一)

************************************************************************************安装装饰器。【1】用到了v-for,就要绑定一个:key,而且建议用id绑定。// 告诉webpack @表示src这一层目录!【3】v-text会覆盖元素内容原有的内容,用的不多。***********************************************************************完整代码。

PS 2018

这个时候会弹出一个对话框,找到你安装的PS文件夹,默认路径一般是C:\Program Files\Adobe\Adobe Photoshop CC 2018,双击“amtlib.dll”直接替换即可。找到并选择“Adobe Photoshop CC 2017”(这是可以破解2018版本的,亲测可用,大可放心),然后点击右下角按钮“Install”链接: https://pan.baidu.com/s/12DdGwb7SyHA2jAdO51m1ag?清楚桌面战场,再次打开软件,完美!

开源的蓝牙协议栈分类:BTStack,Mynewt Nimble,bluez,zephyr等等_开源蓝牙协议栈-程序员宅基地

文章浏览阅读3.8k次,点赞2次,收藏11次。1):bluedroid,Android系统底层蓝牙协议栈。2):bluez,linux系统官方蓝牙协议栈,http://www.bluez.org/。3):Zephyr物联网实时操作系统下的蓝牙协议栈,https://github.com/zephyrproject-rtos/zephyr/tree/master/samples/bluetooth。4):nimble, https://github.com/RT-Thread-packages/nimble。5):btstack,https://gith_开源蓝牙协议栈

《App备案入门指南》:拯救备案小白,让您不再担心-程序员宅基地

文章浏览阅读1k次,点赞15次,收藏19次。各大云接入商ICP代备案管理系统均已正式支持。为便于大家快速学习了解App备案的相关知识,创孵猫通过网上搜集和整理为大家准备了一些基础信息与常见问题。_app备案

随便推点

tcpdump详解_tcpdump data[-程序员宅基地

文章浏览阅读836次。简介用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支 持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。实用命令实例默认启动tcpdump普通情况下,直接启动..._tcpdump data[

[学习笔记] Symfony2 学习笔记之服务容器 [转]-程序员宅基地

文章浏览阅读50次。 现在的PHP应用程序都是面向对象开发,所以主要是由对象构成。有的对象可以方便的分发邮件信息而有的可能帮你把信息写入到数据库中。在你的应用程序中,你可能创建一个对象用于管理你的产品库存,或者另外一个对象处理来自第三方API的数据。重要的是现在应用程序要做的这些事情都是被组织到许许多多的对象中来处理它的每一项任务的。  我们将套路一下Symfony2中一个特殊的PHP对象,它帮助我们实例化,组织...

数据脱敏 用*替代实现_字符串非定长脱敏-程序员宅基地

文章浏览阅读635次。一 什么是数据脱敏数据脱敏(Data Masking),顾名思义,是屏蔽敏感数据,对某些敏感信息(比如,身份证号、手机号、卡号、客户姓名、客户地址、邮箱地址、薪资等等 )通过脱敏规则进行数据的变形,实现隐私数据的可靠保护。业界常见的脱敏规则有,替换、重排、加密、截断、掩码,用户也可以根据期望的脱敏算法自定义脱敏规则。二 姓名脱敏小案例 2.1 定长脱敏 所谓定长脱敏,就是替换的’*'的长度固定,效果如下图所示SELECT CONCAT( LEFT ( real_name, 1._字符串非定长脱敏

Qt表头铺满表格顶部并在界面拖放时按比例缩放_tabwight控件的几个tab将tabwiget的顶部占满-程序员宅基地

文章浏览阅读1.6k次,点赞5次,收藏5次。Qt表头宽度随着窗体等比例缩放。_tabwight控件的几个tab将tabwiget的顶部占满

React-Mock数据_react mock模拟-程序员宅基地

文章浏览阅读501次,点赞10次,收藏5次。React中使用Mock数据主要是为了模拟后端接口和数据,以便前端开发可以在没有实际后端支持的情况下进行。_react mock模拟

Python 资源大全中文版-程序员宅基地

文章浏览阅读201次。我想很多程序员应该记得GitHub上有一个Awesome - XXX系列的资源整理。awesome-python是vinta发起维护的Python资源列表,内容包括:Web框架、网络爬虫、网络内容提取、模板引擎、数据库、数据可视化、图片处理、文本处理、自然语言处理、机器学习、日志、代码分析等。由伯乐在线持续更新。Awesome 系列虽然挺全,但基本只对收录的资源做了极为简要的介绍,如果有更详细..._python-epydoc 在centos中对应的命令