基本样式:

ps:当message 即输入的内容的长度为 0 的时候,按钮禁止使用 ;

<template>
<div class="comment-post">
<van-field
class="post-field"
v-model="message"
rows="2"
autosize
type="textarea"
maxlength="50"
placeholder="请输入留言"
show-word-limit
/>
<van-button class="post-btn">发布</van-button>
</div>
</template> <script>
export default {
name: "CommentPost",
data() {
return {
message: "",
};
},
computed: {},
watch: {},
created() {},
mounted() {},
methods: {},
};
</script> <style scoped lang="less">
.comment-post {
display: flex;
align-items: center;
padding: 32px 0 32px 32px;
.post-field {
background-color: #f5f7f9;
}
.post-btn {
width: 150px;
border: none;
padding: 0;
color: #6ba3d8;
&::before {
display: none;
}
}
}
</style>

父组件位置控制 popup 显示 :对文章评论,传 文章的 id ;

    <!-- --------------对文章进行评论 START--------------------- -->
<van-popup v-model="isPostShow" position="bottom">
<!-- 传 文章的 id -->
<commentPost :target-id="articleInfo.art_id" />
</van-popup>
<!-- --------------对文章进行评论 END--------------------- -->

子组件实现接口发布评论:

<template>
<div class="comment-post">
<van-field
class="post-field"
v-model="message"
rows="2"
autosize
type="textarea"
maxlength="50"
placeholder="请输入留言"
show-word-limit
/>
<van-button
:disabled="message.length === 0"
class="post-btn"
@click="submit"
>发布</van-button
>
</div>
</template> <script>
import { addCommentApi } from "@/api/Article";
export default {
name: "CommentPost",
props: {
// 目标文章的 id 或者 评论的 id
targetId: {
type: [String, Number],
required: true,
},
},
data() {
return {
message: "",
};
},
methods: {
async submit() {
if (!this.$store.state.user) return this.$toast.fail("’请登录才可以操作");
try {
// 发起请求
await addCommentApi({
target: this.targetId,
content: this.message,
art_id: null,
});
} catch (error) {
console.log(error);
}
},
},
};
</script> <style scoped lang="less">
.comment-post {
display: flex;
align-items: center;
padding: 32px 0 32px 32px;
.post-field {
background-color: #f5f7f9;
}
.post-btn {
width: 150px;
border: none;
padding: 0;
color: #6ba3d8;
&::before {
display: none;
}
}
}
</style>

ps:更新视图 ;都是表面的,但是刷新后时正常的 ;

复用对评论和对文章回复的弹层 popup- vant2的更多相关文章

  1. typecho 调用评论最多热门文章

    在当前主题的functions.php文件中添加以下函数代码: function getHotComments($limit = 10){ $db = Typecho_Db::get(); $resu ...

  2. 后端程序员之路 34、Index搜索引擎实现分析3-对文章索引的两层分块

    # part_indexer 对文章根据id的hash进行分块索引- 持有 search_index _inc_index[2]; search_index _history_index[2]; 进行 ...

  3. $Django 站点:样式--文章--分类文章--文章详情--文章评论点赞--文章评论点赞统计(数据库优化)

    <h3>个人站点下的</h3> 知识点 url (r'(?P<username>\w+)/p/(?P<id>\d+)', xiangxi,name='x ...

  4. python2.0_day21_bbs系统评论自动加载+文章创建

    day20中我们已经实现了bbs系统的前端展示,后台admin管理,以及前端动态显示顶部\登录和评论的分级展示功能.其中评论的分级展示功能最为复杂.上一节中我们只是在文章明细页面中加了一个button ...

  5. myql 查询树形表结果:说说、说说的述评、评论的回复

    myql 查询树形表结果:说说.说说的评论.评论的回复 有三张表关联表: 用户的说说表(ixt_customer_note) 说说的评论表(ixt_customer_note_comment) 评论的 ...

  6. Django博客功能实现—文章评论的显示

    功能:在打开文章之后,能在文章下面是显示文章的评论,有父级评论.思路:在文章详情的视图里面,获取这个文章的全部评论,得到显示列表,然后用模板显示出来.步骤:一,在views.py的文章详情中获取评论: ...

  7. 类似于qq空间类型的评论和回复

    最近学习thinkphp,做了一个博客系统,其中感觉实现一个类似于qq空间的评论和回复功能比较复杂,所以把这次的经历记录下来,与大家共勉,具体的方法就不说了,在这里分享一下思路. 目标就是这种,关键是 ...

  8. PHP实现简单的评论与回复功能还有删除信息

    我们首先先看一下功能 上面黑色的是评论的下面红色的字体是回复的 再来看看怎么实现的 1.发布评论 <form action="pinglunchili.php" method ...

  9. wordpress评论回复自动发邮件的功能

    A.插件流,可以说WP强大的插件功能的确能省事不少. 插件的办法一般是两步:第一实现成功发邮件,第二时间评论自动回复,这就需要用到两个插件,一个是Configure SMTP,一个是Mail To C ...

  10. js实现点击评论进行显示回复框

    有人在群里问如何在留言评论那里点击回复按钮,下面就自动显示一个回复框,他想要的效果如图: 于是我随意的写了一段HTML,代码如下: <!DOCTYPE HTML> <html lan ...

随机推荐

  1. P6764 [APIO2020] 粉刷墙壁

    思路: 本质上能进行的操作就是我们算出从第 \(i\) 块砖开始,连续刷 \(M\) 块砖,是否有承包商可以刷出期望颜色. 那么设 \(f_i\) 表示 \([i,i+m-1]\) 是否合法,那么就变 ...

  2. 【转载】冲压过程仿真模拟及优化 —— 冲压仿真的方法分类PPT

    地址: https://www.renrendoc.com/paper/310415051.html

  3. springboot实现事务管理

    Springboot实现事务步骤1.在启动类加上@EnableTransactionManagement 2.在业务层方法上加 @Transactional(rollbackFor = Excepti ...

  4. stm32 F103C8T6 4x4矩阵键盘使用

    首先感谢 江科大 的stm32入门课程 受益匪浅.推荐有兴趣的朋友去看看. 先看看我用的矩阵键盘是啥样的(很常见的一种) 接线如图(其他型号根据自己需求接上GPIO口) 代码基于stm大善人的代码修改 ...

  5. [COCI 2023/2024 #3] Slučajna Cesta 题解

    前言 期望套期望,很有意思.来一发考场首 A,近 \(\Theta(n)\) 的算法. 题目链接:洛谷. 题意简述 一棵树,每条边随机设有方向.对于所有 \(i\),从 \(i\) 开始随机游走,直到 ...

  6. 2023 CCPC 女生题解

    gym B. 终焉之茧 \(\star\) 显然两个维度分别做 单谷函数,起始点 \(A\) 是一个端点.一个 naive 的想法是三分目标点 \(B\),但交互次数会超.二分关于 \(B\) 对称点 ...

  7. cloud compare二次插件化功能开发详细步骤(一)

    点云处理,有一个出名的处理软件,cloud compare,简称 cc,将自己实现的功能以插件形式集成到 CC 里,方便使用 前提 环境:cc 2.13,qt 5.15,cmake 3.18,vs20 ...

  8. Oracle数据库安装与还原

    安装Oracle 11g数据库 安装数据库参考这位大佬的文章:(135条消息) Oracle 11g版本下载及安装超详细教程图解_oracle11g下载_田夜的博客-CSDN博客 非常详细 利用dmp ...

  9. 【Python自动化】之运用Git+jenkins集成来运行展示pytest+allure测试报告

    目录: 一.安装allure 二.生成allure报告 三.结合jenkins来集成pytest+allure 四.结合Git集成Jenkins+Pytest+Allure测试报告 五.附录 一.安装 ...

  10. office系列软件(word、ppt、excel)打不开的解决方案

    前言 ​ 这里我遇到的情况是点击都没反应,而不像很多人那样有报错弹窗,费劲千辛万苦才最终解决,中间一度自暴自弃想着干脆用WPS得了(大可不必),中间我尝试了三种方法,不一定哪种有效,权当分享: 一.使 ...