首页 > 其他分享 >创建联系表单很容易!响应式UI组件库Kendo UI for Vue轻松搞定

创建联系表单很容易!响应式UI组件库Kendo UI for Vue轻松搞定

时间:2023-05-18 10:33:27浏览次数:60  
标签:Vue Kendo 表单 EmailJS UI 电子邮件

Kendo UI致力于新的开发,来满足不断变化的需求。Kendo UI for Vue使用旨在提高性能和丰富用户体验的Vue组件,帮助开发人员构建下一代应用程序。它是为Vue技术框架提供可用的Kendo UI组件,以便更快地构建更好的Vue应用程序。

联系表单用于在网站上发送和接收用户信息的表单。EmailJS是一个强大的库,我们可以用它来创建联系表单,从而只使用客户端技术发送消息。由此我们可以整合其他电子邮件服务,并使用自动回复功能。在本文中,我们将学习什么是EmailJS,以及如何使用Vue.js发送和接收电子邮件,以及为大家介绍如何使用响应式UI组件Kendo UI for Vue轻松创建联系表单。

Kendo UI 最新版下载

Telerik_KendoUI产品技术交流群:726377843    欢迎一起进群讨论

本文将介绍如何使用 EmailJS 和 Vue 创建联系表单,并将 EmailJS 与其他电子邮件服务(Gmail)集成。要创建联系表单的用户界面,我们将使用Kendo UI for Vue
先决条件

开发者必须具备使用Vue的基本知识,并且熟悉创建Vue项目。

EmailJS简介

EmailJS 是我们用于仅使用客户端技术发送邮件的库。在您的项目中实现 Email JS 非常简单,因为它不需要任何服务器。EmailJS 使您可以访问项目中一些您喜欢的电子邮件服务,例如 Gmail、Yahoo、iCloud 等。

Email-Services-EmailJS

设置 EmailJS 帐户

为了使用 EmailJS,我们需要创建一个帐户。为此,请访问该网站并注册一个帐户。

EmailJS 创建帐户

创建帐户后,我们将被重定向到我们的管理仪表板,我们可以在其中创建电子邮件模板或选择作为首选的电子邮件服务。本文首选电子邮件服务,并选择 Gmail 作为我们的服务。

选择服务

选择 Gmail 后会收到一条消息,要求我们链接到想要使用的帐户来接收消息。

gmail 配置

账户连接完成后,接下来请点击“创建服务”。

电子邮件项目页面

创建电子邮件模板

电子邮件模板是我们完成电子邮件服务创建后的下一步。EmailJS 的一个显着特点是用户可以调整电子邮件模板以适应其喜好。让我们看看如何在下面的例子中做到这一点。

首先,我们将前往仪表板并从左侧菜单中选择“电子邮件模板”。

我的默认模板

上图显示了电子邮件模板示例。我们可以快速修改和个性化电子邮件模板以满足需要。

我的默认模板电子邮件现在包含带有 Ezekiel 名字的个性化签名

自定义电子邮件模板后,下一步是保存更改并单击“测试”按钮以查看最终结果。

发送测试邮件

这便是使用 EmailJS 仪表板发送电子邮件的最终结果。

电子邮件测试看起来好像是在 Gmail 中创建的

在 Vue 项目中安装 EmailJS

要在 Vue 项目中安装 EmailJS 库,我们将使用以下命令:

npm install emailjs-com --save

安装我们的库后,我们将库导入到脚本标签内的组件文件中:

import emailjs from 'emailjs-com'

创建联系表

安装我们的库后,我们将使用 Kendo UI for Vue 创建我们的联系表单,这是一个广泛的 UI 组件库。为此,我们将安装我们的表单包:

npm install --save @progress/kendo-vue-inputs @progress/kendo-vue-intl @progress/kendo-licensing

安装软件包后,我们将需要的表单输入导入到表单组件中的脚本标签中:

import { Input } from '@progress/kendo-vue-inputs';

下面是代码导入后的样子:

<script>
import { Input, TextArea } from "@progress/kendo-vue-inputs";
import { Button } from "@progress/kendo-vue-buttons";
export default { components: {
KInput: Input,
KButton: Button,
KTtextarea: TextArea,
},
};
</script>

接下来,创建联系表。

<template>
<div>
<card class="card-section" style="width: 450px; margin: auto">
<h1>Contact Form</h1>
<form ref="values" @submit.prevent="sendEmail">
<div class="form-group">
<KInput
class="form-input"
:style="{ width: '290px' }"
name="name"
v-model="user_name"
placeholder="Name"
></KInput>
</div>
<div class="form-group">
<KInput
class="form-input"
:style="{ width: '290px' }"
name="email"
v-model="user_email"
placeholder="email address"
></KInput>
</div>
<div class="form-group">
<kTextarea
class="form-input"
:style="{ width: '290px' }"
name="message"
v-model="user_message"
placeholder="Message"
:rows="4"
/>
</div>
<div class="example-col">
<kButton
:style="{ width: '100px' }"
id="submit-btn"
>Submit form</kButton
>
</div>
</form>
</card>
</div>
</template>

注意: Kendo UI for Vue 是一个商业 UI 组件库,作为其中的一部分,您在 Vue 项目中使用这些组件时需要提供许可证密钥。您可以通过免费试用或拥有商业许可证来获取许可证密钥。

通过联系表接收消息

在前面的示例中,我们看到了如何通过 EmailJS 仪表板向某人发送电子邮件。在这个例子中,我们将看到如何通过我们的联系表单接收消息。

为此,我们将创建返回三个输入(姓名、电子邮件和消息)的数据和一个具有名为“sendEmail”的函数的方法。此函数将包含我们的数据、TemplateID、ServiceID 和公钥。

<script>
import emailjs from 'emailjs-com';
import {
Card,
} from "@progress/kendo-vue-layout";
// ES2015 module syntax
import { Input, TextArea } from "@progress/kendo-vue-inputs";
import "@progress/kendo-theme-default";
import { Button } from "@progress/kendo-vue-buttons";
export default {
name: "CardComponent",
components: {
card: Card,
KInput: Input,
"k-textarea": TextArea,
kbutton: Button,
},
data() {
return {
user_name: "",
user_email: "",
user_message: "",
};
},
methods: {
sendEmail() {
emailjs
.sendForm(
"Service ID",
"Template ID",
"Public Key"
)
.then(
(result) => {
console.log(
"You have successfully submitted your message",
result.text
);
},
(error) => {
console.log(
"This form failed to submit, please kindly check your internet connection",
error.text
);
}
);
},
},
};
</script>

将服务密钥、模板 ID 和公钥的空间替换为我们创建的空间:

.sendForm(
"Service ID",
"Template ID",
"Public Key"
)

总的来说,用于发送和接收电子邮件的易于使用的 JavaScript 库之一称为 EmailJS。您还可以对某些功能进行个性化设置,例如自动回复选项。我们在这篇文章中学习了如何使用 Vue 和 EmailJS 发送和接收电子邮件,还使用Kendo UI for Vue 轻松创建我们的联系表单。


了解最新Kendo UI最新资讯,请关注Telerik中文网!

 

标签:Vue,Kendo,表单,EmailJS,UI,电子邮件
From: https://www.cnblogs.com/AABBbaby/p/17411162.html

相关文章

  • 从桌面端到移动端,.NET MAUI为什么对WPF开发人员更简单?
    .NET多平台应用程序UI(.NETMAUI)的市场吸引力与日俱增,这是微软最新的开发平台,允许开发者使用单个代码库创建跨平台应用程序。尽管很多WPF开发人员还没有跟上.NETMAUI的潮流,但我们将在这篇文章中为大家展示他的潜力,具体来说想描述一下WPF和.NETMAUI之前的共性。PS:DevExpressWP......
  • 使用buildx在x86机器上面编译arm64架构的Docker镜像
    buildx多架构编译安装docker下载docker下载buildx安装架构支持dockerrun--privileged--rmtonistiigi/binfmt--installall创建一个自己的空间buildxcreate--use--namemybuilder检查支持的架构buildxinspectmybuilder--bootstrapNodes:Name:mybu......
  • 【VUE】el-date-picker日期选择器根据后台返回数据回显
    问题:时间筛选组件不自己默认进行展示,根据后台接口返回的时间数据进行回显,同步修改      参考:https://blog.csdn.net/liusuihong919520/article/details/126890074......
  • angular-devkit 中 build-angular 包的作用
    @angular-devkit/build-angular是AngularCLI的一个开发包,主要用于构建和打包Angular应用程序。它提供了一组命令行工具和可重用的构建流程,用于自动化构建和部署Angular应用程序。下面我们将介绍@angular-devkit/build-angular的作用和主要功能。作用@angular-devkit/b......
  • How to use micro:bit V2 to control built-in sensors All In One
    Howtousemicro:bitV2tocontrolbuilt-insensorsAllInOnemicro:bitV2&PythonMakeCodeMakeCodeformicro:bithttps://makecode.microbit.org/https://www.microsoft.com/zh-cn/makecodeAdafruitCircuitPlaygroundExpresshttps://makecode.a......
  • java基于springboot+vue的篮球竞赛预约平台、比赛预约管理系统,附源码+数据库+lw文档+P
    1、项目介绍根据篮球竞赛预约平台的功能需求,进行系统设计。前台功能:用户进入系统可以实现首页,竞赛项目,平台公告,个人中心,后台管理等功能进行操作;后台由管理员和用户,主要功能包括首页,个人中心,用户管理,项目分类管理,竞赛项目管理,赛事预约管理,系统管理等功能;系统对这些功能进行整合......
  • Vue3中watch监听写法
    侦听ref和reactiveconststate=reactive({ count:0})//侦听reactive中属性,需要包裹在箭头函数中watch(()=>state.count,(newVal,oldVal)=>{ })//watch直接接受ref作为监听对象,并且在回调函数返回解包后的值constcount=ref(0);watch(count,(newVal,o......
  • 第四周编程作业(一)-Building your Deep Neural Network: Step by Step
    BuildingyourDeepNeuralNetwork:StepbyStepWelcometoyourweek4assignment(part1of2)!Youhavepreviouslytraineda2-layerNeuralNetwork(withasinglehiddenlayer).Thisweek,youwillbuildadeepneuralnetwork,withasmanylayersasyou......
  • 记录--vue3优雅的使用element-plus的dialog
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助如何优雅的基于element-plus,封装一个梦中情dialog优点摆脱繁琐的visible的命名,以及反复的重复dom。想法将dialog封装成一个函数就能唤起的组件。如下:addDialog({title:"测试",//弹窗名compone......
  • Vue学习笔记-快速入门
    整体代码如下:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title></head><body><divid="app"><inputv-model="username"><!-......