前端开发中遇到的小bug--解决方案

这篇具有很好参考价值的文章主要介绍了前端开发中遇到的小bug--解决方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.在 searchBox 搜索栏中,用到了多级下拉框的筛选条件,样式如下:

前端开发中遇到的小bug--解决方案

 这样看起来是没什么问题的,但当我选择时,在框中显示的内容和筛选条件的内容就出错了:

前端开发中遇到的小bug--解决方案

这里其实是选择了 采矿业 -- 石油和天然气开采业 ,但显示框中是 林业,筛选条件的内容也有问题:

前端开发中遇到的小bug--解决方案

这里没有显示最后一级的 选项,即  石油和天然气开采业

问题就在这里,value 值的设置: 

前端开发中遇到的小bug--解决方案

修改的mock数据如下,这样就可以正常显示了:

前端开发中遇到的小bug--解决方案

内容效果: 

前端开发中遇到的小bug--解决方案

 前端开发中遇到的小bug--解决方案

这里贴一部分代码: 

industryTypeList: [
    { value: 101, label: '农、林、牧、渔业',
      children: [
        { value: 10101, label: '农业' },
        { value: 10102, label: '林业' },
        { value: 10103, label: '畜牧业' },
        { value: 10104, label: '渔业' },
        { value: 10105, label: '农、林、牧、渔服务业' }
      ]
    },
    { value: 102, label: '采矿业',
      children: [
        { value: 10201, label: '煤炭开采和洗选业' },
        { value: 10202, label: '石油和天然气开采业' },
        { value: 10203, label: '黑色金属矿采选业' },
        { value: 10204, label: '有色金属矿采选业' },
        { value: 10205, label: '非金属矿采选业' },
        { value: 10206, label: '开采辅助活动' },
        { value: 10207, label: '其他采矿业' }
      ]
    },
    { value: 103, label: '制造业',
      children: [
        { value: 10301, label: '农副食品加工业' },
        { value: 10302, label: '食品制造业' },
        { value: 10303, label: '酒、饮料和精制茶制造业' },
        { value: 10304, label: '烟草制品业' },
        { value: 10305, label: '纺织业' },
        { value: 10306, label: '纺织服装、服饰业' },
        { value: 10307, label: '皮革、毛皮、羽毛及其制品和制鞋业' },
        { value: 10308, label: '木材加工和木、竹、藤、棕、草制品业' },
        { value: 10309, label: '家具制造业' },
        { value: 10310, label: '造纸和纸制品业' },
        { value: 10311, label: '印刷和记录媒介复制业' },
        { value: 10312, label: '文教、工美、体育和娱乐用品制造业' },
        { value: 10313, label: '石油加工、炼焦和核燃料加工业' },
        { value: 10314, label: '化学原料和化学制品制造业' },
        { value: 10315, label: '医药制造业' },
        { value: 10316, label: '化学纤维制造业' },
        { value: 10317, label: '橡胶和塑料制品业' },
        { value: 10318, label: '非金属矿物制品业' },
        { value: 10319, label: '黑色金属冶炼和压延加工业' },
        { value: 10320, label: '有色金属冶炼和压延加工业' },
        { value: 10321, label: '金属制品业' },
        { value: 10322, label: '通用设备制造业' },
        { value: 10323, label: '专用设备制造业' },
        { value: 10324, label: '汽车制造业' },
        { value: 10325, label: '铁路、船舶、航空航天和其他运输设备制造业' },
        { value: 10326, label: '电气机械和器材制造业' },
        { value: 10327, label: '计算机、通信和其他电子设备制造业' },
        { value: 10328, label: '仪器仪表制造业' },
        { value: 10329, label: '其他制造业' },
        { value: 10330, label: '废弃资源综合利用业' },
        { value: 10331, label: '金属制品、机械和设备修理业' }
      ]
    },
    { value: 104, label: '电力、热力、燃气及水生产和供应业' },
    { value: 105, label: '建筑业' },
    { value: 106, label: '批发和零售业' },
    { value: 107, label: '交通运输、仓储和邮政业' },
    { value: 108, label: '住宿和餐饮业' },
    { value: 109, label: '信息传输、软件和信息技术服务业' },
    { value: 110, label: '金融业' },
    { value: 111, label: '房地产业' },
    { value: 112, label: '租赁和商务服务业' },
    { value: 113, label: '科学研究和技术服务业' },
    { value: 114, label: '水利、环境和公共设施管理业' },
    { value: 115, label: '居民服务、修理和其他服务业' },
    { value: 116, label: '教育' },
    { value: 117, label: '卫生和社会工作' },
    { value: 118, label: '文化、体育和娱乐业' },
    { value: 119, label: '公共管理、社会保障和社会组织' },
    { value: 120, label: '国际组织' },
    { value: 121, label: '其他' }
]

 2.在制作表单页面时,用到了 单选按钮,需要设置 trigger 属性,先看看效果:

前端开发中遇到的小bug--解决方案

选择性别,并且是必选项,现在的代码是,因为调用 elementui组件库时,默认是绑定了 radio 值,但就在这个地方出现了问题:

前端开发中遇到的小bug--解决方案

前端开发中遇到的小bug--解决方案

trigger 属性在这里设置为 blur 或 change 均可,选择之后,不会提示未选择选项的错误信息,但点击提交表单时,会出现错误提示框,效果是这样:

前端开发中遇到的小bug--解决方案

选择了“女”,依然提示“请选择性别”,解决如下:

前端开发中遇到的小bug--解决方案

扔掉 radio 项,设置为当前绑定的数据项:s012,即可解决

<el-col :span="12">
     <el-form-item label="性别" prop="s012" ref="radioGroup">
          <el-radio v-model="formData.s012" label="1">男</el-radio>
          <el-radio v-model="formData.s012" label="2">女</el-radio>
     </el-form-item>
</el-col>
s012: [{
   required: true,
   message: '请选择性别',
   trigger: 'change'
}]

3.在做 el-table 组件时,每列数据的宽度不同,并且用户使用的电脑屏幕大小不同,为了兼容并且提高用户体验,可以设置 mid-width 属性以及 show-overflow-tooltip(默认一行展示,超过显示省略号)。如果希望用户能够查看完整的内容,可以添加一个 ToolTip 组件在鼠标 hover 该单元格时浮现出来以显示全部内容。

<el-table-column prop="s003" :label="columnControl[2].label" mid-width="120" show-overflow-tooltip>
    <template slot-scope="scope">
        {{ scope.row.s003 }}
    </template>
</el-table-column>

4.组件间通讯,这里是我用到的父子组件间的通讯

在父子组件通信方面,可以采用以下几种常用的方法:

  1. Props 传递:父组件通过 props 将数据传递给子组件。子组件通过 props 接收并使用这些数据。父组件可以在需要的时候更新传递给子组件的 props 数据,从而实现通信和数据更新。

  2. 自定义事件:父组件可以通过自定义事件的方式向子组件发送消息或触发特定操作。子组件可以监听这些事件,并在事件被触发时执行相应的操作。

  3. 使用 ref:父组件可以通过 ref 引用子组件的实例,从而直接访问子组件的属性和方法。这样可以实现父组件调用子组件的特定方法,或读取子组件的状态。

  4. 使用 Vuex(Vue.js 的状态管理库):如果你在 Vue.js 中使用 Vuex,则可以在父组件和子组件之间共享全局状态。父组件可以使用 Vuex 存储和更新数据,子组件可以通过读取 Vuex 中的状态来获取最新的数据。

我个人认为较为简单是在父组件中定义要传的值,然后用props在子组件中组件,之后通过 this.$emit('xxxx', yyyy) 的方式,下面是代码示范:

这是我在父组件中用到的子组件 ShowApply,这里记得使用前引用文件

<ShowApply :visible.sync="showApplyDialogShow" />

这里的 :visible.sync 就是我要传的值,用来控制子组件是否显示

props: {
  visible: Boolean
}

在子组件中利用 props 进行注册,然后在你绑定的点击事件或其他自定义事件的方法中使用如下代码中的 this.$emit('update:visible', false) :【里面具体要绑定的事件可以自行修改】,这是父向子传数据

methods: {
    // 提交申请
    onSubmit() {
      console.log('点击提交申请')
      this.dialogShow = true
      // 触发关闭事件,更新 visible 状态
      this.$emit('update:visible', false)
    }
}

再举一例,这里利用自定义事件或者 ref 都可以:

我要实现的需求是 我在子组件中上传一些文件,形成一个文件列表,在父组件中可以渲染出来

前端开发中遇到的小bug--解决方案

即将红色框中的列表渲染到触发这个子组件的父组件中,即这样的效果:

前端开发中遇到的小bug--解决方案 在父组件中渲染子组件时,绑定ref 或者 自定义事件

<UploadDocument ref="uploadNew" @file-uploaded="handleFileUploaded" />

在子组件中使用 ref 或者 自定义事件,将我的文件列表渲染过去给父组件,这是子向父传数据文章来源地址https://www.toymoban.com/news/detail-499238.html

// 传递数据
toEmitFile() {
  // 将附件列表传递给父组件
  this.$emit('file-uploaded', this.attachmentList)
  this.attachmentList = []
}

到了这里,关于前端开发中遇到的小bug--解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • “FPGA开发中Vivado生成bit文件遇到的错误解决方案“

    “FPGA开发中Vivado生成bit文件遇到的错误解决方案” FPGA开发是现在工业界中越来越广泛使用的技术,但是在开发过程中难免会出现一些问题。其中,Vivado生成bit文件报错是一个比较常见的问题。下面,我将详细介绍这个问题以及如何彻底解决。 一、问题描述 当我们进行FPGA项

    2024年02月04日
    浏览(53)
  • 海康摄像头前端调用实时画面解决方案(无插件版开发)

    项目中有一个需求,是需要把海康摄像机的实时画面在项目前端的页面中展示出来。本文的技术栈主要用到了 vue3、vite、threejs 等,辅助软件主要有 海康自带的iVMS-4200 3.9.1.4 客户端、VLC media player 等。原先最开始是想使用海康官方提供的WEB无插件开发包,但是在实际开发中发

    2024年02月16日
    浏览(47)
  • 前端开发中常见的浏览器兼容性问题及解决方案

    提示:这里主要阐述浏览器兼容性产生的环境: 所谓的浏览器兼容性问题,是指 因为不同浏览器对同一段代码有着不同的解析,所造成页面显示效果不统一的情况。 为此,解决浏览器兼容,也成为了跨浏览器开发的一个核心问题。 当初微软不加入W3C,使得后者不采用IE的方

    2023年04月18日
    浏览(40)
  • 基于Prism框架的WPF前端框架开发《知产代理数字化解决方案》

    最近新开发了一套WPF前端界面框架,叫《知产代理数字化解决方案》,采用了时下流行的Prism框架作为整个系统的基础架构,演示了Prism中的IRegionManager区域管理器、IDialogAware对话框、IDialogService对话框服务、IContainerExtension容器等用法。 系统对常用的控件进行了模板和样式开发

    2024年01月19日
    浏览(53)
  • 前端jd要求:了解一门后端开发语言优先 解决方案之Node.js

    作为前端开发者,了解一门后端开发语言可以为我们提供更多的职业机会和技术优势。在当今的技术领域中,前后端分离的开发模式已经成为主流,前端和后端的协作和沟通变得越来越紧密。因此,作为前端开发者,学习一门后端语言已经成为提高自己技能的重要途径。 以下

    2024年02月12日
    浏览(42)
  • Vue开发中使用Element UI过程中遇到的问题及解决方案Missing required prop: “value”,Element Plus全局组件配置中文

    一、vue中使用el-table的type=index有时不显示序号 Table 表格 用于展示多条结构类似的数据,可对数据进行排序、筛选、对比或其他自定义操作。 当el-table元素中注入data对象数组后,在el-table-column中用prop属性来对应对象中的键名即可填入数据,用label属性来定义表格的列名。可以

    2024年01月16日
    浏览(45)
  • Java常见Bug解决方案

    刚开始学习Java语言的小伙伴, 很可能被各种各样的程序bug搞得焦头烂额, 甚至被劝退。别怕,健哥将手把手带你了解Java中的异常体系, 如何识别Bug以及如何解决Bug。 让我们先来了解下Java中的异常分类, 如下图: Java中的异常分为Error错误和Exception异常两大类 Error错误 : 一般所有

    2024年02月13日
    浏览(27)
  • git常见bug及其解决方案

    git status 查看状态中是否有效忽略了 git add命令主要用于把我们要提交的文件的信息添加到索引库中;git commit命令是git将依据索引库中的内容来进行文件的提交。 git add -u []: 把中所有tracked文件中被修改过或已删除文件的信息添加到索引库。它不会处理untracted的文件。 git add

    2024年02月05日
    浏览(44)
  • 【BUG】Nginx转发失败解决方案

    最近在做项目的时候出现了一个问题,琢磨了好久,来浅浅记录一下。 这个项目后端使用的是gateway网关和nacos实现动态的路由,前端使用nginx来管理前端资源,大体流程:浏览器发起请求,经过nginx代理,转到gateway网关服务上,然后gateway根据路径,动态得路由到各个服务。

    2024年02月07日
    浏览(43)
  • SpringBoot+Vue项目中遇到Not allowed to load local resource图片路径问题的两种解决方案(在后端映射本地路径或将图片转base64返回给前端)

    后端映射本地路径 转base64格式返回 如果是少量图片可以这么操作,不然图片多的话返回base64由于字符太长,传输速度很慢,会导致卡顿现象、加载慢、加载异常等情况出现。 图片转base64 base64转图片保存 headPhotoPath = “D:yangleProjectImageLocationheadPhoto” userPhotoPath = “nologin”

    2024年02月06日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包