学习vue过程中遇到的问题

news/2024/7/10 3:05:49 标签: vue, element ui

vuequilleditor_0">1、vue-quill-editor动态禁用

项目中把vue-quill-editor单独封装成了一个组件,通过props传递readOnly参数来设置是否禁用editor。开发中发现可以实现禁用效果,但取决于第一次打开这个编辑器的状态,如果第一次打开时readOnly参数为true,那么后面一直都是true,尽管传入的readOnly参数不同。

<editor v-model="form.noticeContent" :min-height="192" :read-only="form.status === '1'" />

通过调试发现是vue-quill-editor在页面渲染完后只初始化一次,如果在init方法中进行设置,那么只会设置一次。

根据官方文档,可以把动态禁用移到状态改变事件中(onEditorFocustext-changeselection-changeeditor-change等),这样就可以实现动态禁用效果了。

vue_11">2、vue里实现路由跳转

就是点击按钮,打开另一个tab页面,而不是页面里的弹窗。这在一般的前端项目里,直接使用a标签就可以。

虽然在vue里也有类似的,即<router-link>标签,渲染后就是a标签。

关于路由跳转有很多方式,这里我选用this.$router.push({ path: })的方式,写上页面路径一直404,因为要实现路由的调整,所以要跳转的页面都需要加入路由列表,不然找不着

router/index.js里添加

{
    path: '/notice',
    component: Layout,
    hidden: true,
    children: [
      {
        path: 'add',
        component: (resolve) => require(['@/views/collaboration/notice/detail'], resolve),
        name: 'NoticeDetail',
        meta: { title: '新增公告' }
      },
      {
        path: 'edit/:noticeId(\\d+)',
        component: (resolve) => require(['@/views/collaboration/notice/detail'], resolve),
        name: 'NoticeDetail',
        meta: { title: '修改公告' }
      }
    ]
  }

这样你要跳转到新增页面或者修改页面,就可以像下面这样写

vue">      /** 新增按钮操作 */
      handleAdd() {
        this.$router.push({ path: '/notice/add' })
      },
      /** 修改按钮操作 */
      handleUpdate(row) {
        const noticeId = row.noticeId || this.ids[0]
        this.$router.push({ path: '/notice/edit/' + noticeId })
      }

3、莫名其妙的错误

vue的热更新有时候真的不能相信,你的代码或许真的没问题,你只是需要重启让它冷静一下。

4、el-button的@click方法点击失效

下面的代码,点击按钮,两个都打印了,但却没有执行submitNotice方法

      /** 发布按钮操作 */
      handleSubmit() {
        if (this.noticeId === undefined) {
          this.msgError("发布失败")
          return
        }
        this.$confirm('是否确认发布该公告?', "警告", {
          confirmButtonText: "确定",
          cancelButtonText: "取消",
          type: "warning"
        }).then(function() {
          console.log('11111')
          return submitNotice(this.noticeId)
        }).then(() => {
          this.msgSuccess("发布成功")
          this.getDetails(this.noticeId)
        }).catch(() => {});
      },

下面这样修改就可以了。。
image.png

这俩写法貌似没啥区别啊。。通过查资料,我估计就是这个this的问题。this的作用域不同

参考:https://blog.csdn.net/github_38851471/article/details/79446722

5、父组件传入子组件的值更新,子组件不会重新渲染

父组件调用子组件,传入deptId,当deptId更新时,子组件不会重新加载

vue"><post :deptId="form.deptId" />

子组件接受值

props: {
    deptId: {
      type: Number,
      default: -1
    }
  },

需要在watch中监听子组件参数变化,然后执行需要的逻辑

watch: {
    deptId: {
      handler: function (val, oldVal) {
        this.inputDeptId = val
        if (val !== -1) {
          this.getList();
        }
      },
      deep: true
    }
  },

参考:http://www.cxyzjd.com/article/zhengyinling/93485296

vuetreeselect_120">6、vue-treeselect下拉选择的时候,被遮挡住

根据官方文档,为标签设置属性:appendToBody="true",将菜单追加到body即可。

7、数据库tinyint类型,实体类需要设置为Boolean类型而不是boolean类型,因为boolean类型默认为false,而Boolean可以为null,在列表条件查询时,默认为false可能会得到不正确的数据。

8、有的页面启动后第一次打开样式错乱,刷新后正常。

考虑是不是css样式和页面加载的顺序问题,css加载慢了,所以出现这个问题,有待调试。

9、el-upload多文件上传时,点击上传到服务器却唤醒了文件选择框

image.png

解决:需要在选取文件的按钮加上属性slot="trigger"

image.png

持续更新


http://www.niftyadmin.cn/n/1236042.html

相关文章

Vue实现多文件上传功能(前端 + 后端代码)

开发项目的时候&#xff0c;用到文件上传的功能很常见&#xff0c;包括单文件上传和多文件上传&#xff0c;上传各种类型的文件。在vue里面要实现多文件上传功能&#xff0c;还是很方便的。 本文就一起来学习一下&#xff0c;如何把多文件上传功能封装成一个组件&#xff0c;后…

HBase doBulkload by Scala

引言: Hbase 存储数据时&#xff0c;如果数据量不大可以通过 Get 批量载入&#xff0c;当数据量够大时可以采用 Bulkload 方式&#xff0c;提高载入效率。Bulkload 就像 Hive 的 load 一样&#xff0c;提供好规定格式的文件即可。 主程序: 这里生成的 HFile 是 keyValue 形式…

windows 与Linux之间的文件传输

嵌入式Linux之我行——虚拟机中实现Linux与Windows之间的文件传输 嵌入式Linux之我行&#xff0c;主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验&#xff0c;二希望能给想入门嵌入式Linux的朋友提供方便。如有错误之处&#xff0c;谢请指正。 原创篇&#…

Hadoop hdfs随机获取文件内容

引言: 需要从 HDFS 随机获取一个目录下的内容&#xff1a;目录下共3000个part&#xff0c;随机挑选文件 part 并从每个 part 中随机获取一些数据作为原始数据。 path 为文件夹地址&#xff0c; total 为随机获取的数据量 实现1(简单粗暴): hadoop fs -text $path/* | shuf -…

1583. 统计不开心的朋友

2021-08-14 LeetCode每日一题 链接&#xff1a;https://leetcode-cn.com/problems/count-unhappy-friends/ 标签&#xff1a;数组、模拟 题目 给你一份 n 位朋友的亲近程度列表&#xff0c;其中 n 总是 偶数 。 对每位朋友 i&#xff0c;preferences[i] 包含一份 按亲近程度…

Vue实现点击按钮进行文件下载(后端Java)

最近项目中需要实现点击按钮下载文件的需求&#xff0c;前端用的vue&#xff0c;因为文件是各种类型的&#xff0c;比如图片、pdf、word之类的。这里后端是可以返回文件的地址给前端的&#xff0c;但我看了下网上各种五花八门的答案&#xff0c;感觉都不是我想要的。 因为不确…

MacPro 迁移至 Mac Mini-M1 与 踩坑 For 后端开发

引言 最新入手了全新的Mac Mini-M1&#xff0c;之前的主力开发机是17款的Mac BookPro&#xff0c;听说M1性能强劲就想着入手体验一下&#xff0c;这里墙裂建议做开发的同学一定要入16G&#xff0c;最先购买了8-512的版本&#xff0c;Idea和Chorme一开&#xff0c;8G内存可用就…

STM32串口中断的一些资料

STM32串口中断的一些资料 在研究STM32串口接收发送中断的时候找到不少不错的资料&#xff0c;现在备份在这里。以供自己查阅&#xff0c;以及方便其他人。 TC TXE 顺便预告下最近会写个有关串口处理数据的帖子&#xff0c;从查询和中断方面以及数据处理的方式&#xff0c;从队列…