广告
返回顶部
首页 > 资讯 > 精选 >vue前端信息详情页怎么实现
  • 178
分享到

vue前端信息详情页怎么实现

2023-06-30 03:06:46 178人浏览 安东尼
摘要

这篇“Vue前端信息详情页怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue前端信息详情页怎么实现”文章吧。1.H

这篇“Vue前端信息详情页怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue前端信息详情页怎么实现”文章吧。

1.HTML部分:

<template xmlns:el-fORM-item="Http://www.w3.org/1999/xhtml">  <el-form ref="form" :model="form" :rules="rules" label-width="100px">    <el-page-header content="详情页主题" @back="GoBack" />    <el-row >      <!--基本输入框-->      <el-col :span="8">        <el-form-item label="属性1" prop="name1">          <el-input v-model="form.model1" placeholder="提示输入内容" :readonly="status"/>        </el-form-item>      </el-col>      <!--基本单选框-->      <el-col :span="8">        <el-form-item label="属性2" prop="name2">          <el-select v-model="form.model2" class="whiteSelectBg" placeholder="提示单选"  :disabled="status">            <el-option label="选项1" value="1" />            <el-option label="选项2" value="2" />          </el-select>        </el-form-item>      </el-col>      <!--基本多选框-->      <el-col :span="8">        <el-form-item label="属性3" placeholder="" prop="subjectId">          <el-select v-model="form.model3" multiple placeholder="提示多选"  @change="getOption">            <el-option v-for="option in options" :key="option.id" :label="option.name" :value="option.id" />          </el-select>        </el-form-item>      </el-col>    </el-row>    <!--上传文件-->    <el-row>      <el-upload :disabled="status" action="文件上传的controller路径" :on-success="uploadSuccess" :before-upload="beforeUpload" :show-file-list="false"      >        <el-col :span="20">          <el-form-item label="文件类型名" prop="fileName">            <el-input v-model="form.fileName" placeholder="请上传实验指导,可以上传doc,docx,pdf等文档格式" readonly  />          </el-form-item>        </el-col>        <el-col :span="4">          <el-button type="primary" icon="el-icon-upload"  :disabled="status">上传文件</el-button>        </el-col>      </el-upload>    </el-row>    <!--数据表格-->    <el-row>      <el-col :span="24">        <el-form-item>          <el-table v-loading="listLoading" :data="form.tableList" border fit highlight-current-row  class="tb-edit" @row-click="tableChange">            <el-table-column align="center" :label="序号" type="index" width="80"/>            <!--普通数据格-->            <el-table-column :label="表头1" align="center" min-width="100px">              <template slot-scope="{row}">                <span>{{ row.id }}</span>              </template>            </el-table-column>            <!--可编辑数据格,根据数据状态变换输入还是只显示-->            <el-table-column :label="表头2" align="center" min-width="100px">              <template slot-scope="{row}">                <el-input v-if="row.seen" ref="tableInput" v-model="row.name" autofocus="autofocus" maxlength="5" @change="tableEdit(row.$index, row)" />                <span v-else>{{ row.name }}</span>              </template>            </el-table-column>            <!--操作按钮格-->            <el-table-column :label="'操作'" align="center" min-width="100px">              <template slot-scope="{row}">                <el-button size="mini" type="danger" @click="delete(row.id)">删除</el-button>              </template>            </el-table-column>          </el-table>        </el-form-item>      </el-col>    </el-row>    <!--基础动态表单区块-->    <el-card class="box-card" shadow="never" >      <div slot="header" class="clearfix">        <span>区块名</span>        <el-button type="primary" v-if="addBt"  :disabled="status" @click="addCard">新增</el-button>      </div>      <div >        <el-row v-for="(card, index) in cards" :key="card.key">          <el-col :span="8">            <el-form-item :label="属性1">              <!--根据需求自己选择放输入框还是单选多选框-->            </el-form-item>          </el-col>          <el-col :span="8">            <el-form-item :label="属性2">              <!--根据需求自己选择放输入框还是单选多选框-->            </el-form-item>          </el-col>          <el-col :span="8">            <el-button :disabled="status" @click.prevent="deleteCard(card)">删除</el-button>            <el-button :disabled="status" @click="addCard">新增</el-button>          </el-col>        </el-row>      </div>    </el-card>    <el-row>      <el-form-item >        <el-button type="primary" @click="submit">提交</el-button>        <el-button @click="reset('form')">重置</el-button>        <el-button @click="goBack">返回</el-button>      </el-form-item>    </el-row>     </el-form></template>

2.JS部分:

<script>import waves from '@/directive/waves' // waves directive,点击产生水波纹效果,在标签中添加 v-wavesimport Pagination from '@/components/Pagination' // 分页组件export default {  data() {    return {      id: '',      options: [],      guideFileIsChange: '',      guideFile: { file: '', name: '' },      listLoading: false,      addBt: true,      form: {        model1: '',        model2: '',        model3: [],        fileName: '',        tableList: [{          id: '',          name: '',          seen: false,        },{          id: '',          name: '',          seen: false,        }]        cards: [],           },    },    rules: {      'model1': [{          required: true,          message: '请输入内容'        }],      'model2': [{          required: true,          message: '请选择选项'        }],      'model3': [{          required: true,          message: '请选择选项'        }],       'fileName': [{          required: true,          message: '请上传文件'        }],    },  },  // 页面初始化  created() {    // 获取上一个页面传递过来的参数,id,状态等。。。    this.id = this.$route.query.id    this.action = this.$route.query.action  },  methods: {    // 跳转返回指定的页面    goBack() {      this.$store.state.tagsView.visitedViews.splice(this.$store.state.tagsView.visitedViews        .findIndex(item => item.path ===          this.$route.path), 1)      this.$router.push({        path: '跳转的页面路径'      })    },    getOption() {      // 获取动态选项框的数据      const list = []      this.options = list    },    // 上传文件    uploadSuccess(res, file) {      this.guideFileIsChange = '1'      this.guideFile.file = file.raw      this.guideFile.name = file.raw.name      this.form.fileName = file.raw.name    },    // 实验指导书的信息    beforeUpload(file) {      setTimeout(() => {        this.$message({          duration: 1600,          type: 'success',          message: '上传文件成功!'        })      })      return true    },    tableChange() {      console.log('点击表格行触发的操作')    },    // 触发出现输入框    tableEdit(row.$index, row) {      for (const index in this.tableList) {        if (row.id !== this.tableList[index].id) {          this.tableList[index].seen = false        } else {          this.tableList[index].seen === false ? this.tableList[index].seen = true : this.tableList[index].seen = false        }      }      if (row.seen === true) {        this.$nextTick(() => {          this.$refs.tableInput.focus()        }, 100)      }    },    delete(id) {      this.$confirm('确认删除这一条信息?', '确认删除?', {        distinguishCancelAndClose: true,        confirmButtonText: '确定',        cancelButtonText: '取消'      }).then(() => {        for (let i = 0; i < this.tableList.length; i++) {          if (id === this.tableList[i].id) {            this.tableList.splice(i, 1)          }        }        this.$message.success('删除成功!')      }).catch(action => {})    },    addCard() {      this.cards.push({key1: value1, key2: value2})      this.addBt = false    },    deleteCard(card) {      const index = this.cards.indexOf(card)      if (index !== -1) {        this.cards.splice(index, 1)      } if (this.cards.length === 0) {        this.addBt = true      }    },    submit() {      console.log('提交!')    },    reset(formName) {      this.$refs[formName].resetFields()    },  },}

3.css部分:

// 这是修改过得输入框只读的样式<style>  .whiteSelectBg .el-input.is-disabled .el-input__inner{    background-color: white;    color:#606266;  }</style>

以上就是关于“vue前端信息详情页怎么实现”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: vue前端信息详情页怎么实现

本文链接: https://www.lsjlt.com/news/327213.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue前端信息详情页怎么实现
    这篇“vue前端信息详情页怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue前端信息详情页怎么实现”文章吧。1.H...
    99+
    2023-06-30
  • vue前端信息详情页模板梳理详解
    本文实例为大家分享了vue前端信息详情页模板的梳理,供大家参考,具体内容如下 前言: 自己总结方便自己用的,觉得有用可以参考使用,欢迎留言提出改进意见。 1.HTML部分: <...
    99+
    2022-11-13
  • 怎么实现Vue前端分页和后端分页
    本篇内容介绍了“怎么实现Vue前端分页和后端分页”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1:前端手写分页(数据量小的情况下)前端需要使...
    99+
    2023-06-22
  • Vue怎么实现前端页面缓存
    这篇“Vue怎么实现前端页面缓存”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue怎么实现前端页面缓存”文章吧。Vue前端...
    99+
    2023-07-02
  • Vue前端登录token信息验证功能实现
    用户在首次访问网站时,应在登录页面填写账号密码,前端携带用户信息向服务器请求。 1、服务器验证用户信息 验证失败:给前端响应数据 验证通过:对该用户创建token,并以响应数据返回给...
    99+
    2022-12-27
    Vue token验证 Vue前端token验证
  • Vue前端怎么实现分页和排序
    本文小编为大家详细介绍“Vue前端怎么实现分页和排序”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue前端怎么实现分页和排序”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。效果图:语法:数据绑定 {{...}}...
    99+
    2023-07-04
  • Vue前端柱状图怎么实现
    这篇文章主要介绍了Vue前端柱状图怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue前端柱状图怎么实现文章都会有所收获,下面我们一起来看看吧。vue前端柱状图(叠状条形图)通过echarts来实现柱状...
    99+
    2023-07-05
  • 微信小程序新闻网站详情页在怎么实现
    这篇文章主要介绍微信小程序新闻网站详情页在怎么实现,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!准备工作:1、在微信公众号平台,申请小程序账号,获取appid 2、下载并安装微信开发...
    99+
    2022-10-19
  • 怎么用websocket实现前后端通信
    这篇文章主要介绍了怎么用websocket实现前后端通信,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 websocket通信是很好玩的,...
    99+
    2022-10-19
  • 前端与RabbitMQ实时消息推送怎么实现
    这篇文章主要讲解了“前端与RabbitMQ实时消息推送怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“前端与RabbitMQ实时消息推送怎么实现”吧!web 端实时消息推送,常用的实现...
    99+
    2023-06-27
  • vue前端路由机制怎么实现
    这篇文章主要讲解了“vue前端路由机制怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue前端路由机制怎么实现”吧!一. 前端路由现代前端开发中最流行的页面模型,莫过于SPA单页应用...
    99+
    2023-07-04
  • 怎么使用django和vue项目搭建实现前后端通信
    本文小编为大家详细介绍“怎么使用django和vue项目搭建实现前后端通信”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用django和vue项目搭建实现前后端通信”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知...
    99+
    2023-07-05
  • SpringBoot怎么整合WebSocket实现后端向前端发送消息
    这篇文章主要讲解了“SpringBoot怎么整合WebSocket实现后端向前端发送消息”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SpringBoot怎么整合WebSocket实现后端向...
    99+
    2023-07-05
  • 前端vue中怎么实现文件下载
    这篇文章主要介绍了前端vue中怎么实现文件下载的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇前端vue中怎么实现文件下载文章都会有所收获,下面我们一起来看看吧。第一种方式 前端创建超链接,通过a标签向...
    99+
    2023-07-06
  • 前端vue cropperjs怎么实现图片裁剪
    这篇文章主要介绍“前端vue cropperjs怎么实现图片裁剪”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“前端vue cropperjs怎么实现图片裁剪”文章能帮助大家解决问题。图片裁剪图片裁剪...
    99+
    2023-07-02
  • Vue前端怎么实现与后端进行数据交互
    这篇文章主要介绍了Vue前端怎么实现与后端进行数据交互的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue前端怎么实现与后端进行数据交互文章都会有所收获,下面我们一起来看看吧。Vue前端与后端数据交互安装npm...
    99+
    2023-06-29
  • 前后端结合怎么实现amazeUI分页效果
    这篇文章给大家分享的是有关前后端结合怎么实现amazeUI分页效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前端实现引入paginator.js(function ($) { &...
    99+
    2023-06-09
  • Vue前端项目自适应布局怎么实现
    这篇文章主要介绍“Vue前端项目自适应布局怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue前端项目自适应布局怎么实现”文章能帮助大家解决问题。一、单位尺寸px%vw、vh: 窗口em: ...
    99+
    2023-07-02
  • 怎么用C#实现获取当前设备硬件信息
    这篇文章主要介绍“怎么用C#实现获取当前设备硬件信息”,在日常操作中,相信很多人在怎么用C#实现获取当前设备硬件信息问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用C#实现获取当前设备硬件信息”的疑惑有所...
    99+
    2023-07-05
  • 微信小程序怎么实现商品列表跳转商品详情页功能
    这篇文章主要介绍“微信小程序怎么实现商品列表跳转商品详情页功能”,在日常操作中,相信很多人在微信小程序怎么实现商品列表跳转商品详情页功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序怎么实现商品列表...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作