vue 运用element-ui遇见的一些问题总结记录

简介: vue 运用element-ui遇见的一些问题总结记录

前面几个项目一直在用element-ui,总结起来,自带的一些组件真的很方便,便于我们快速开发,但是也有一些小问题,比如里面自带的一些方法属性,给的很简洁的概述,要是第一次用还真不好用。之前也是用的时候一个个找,也没怎么记录,后边想想还是留个记录吧,方便以后查阅。本文很多地方只做简单的功能点介绍或者说是提供了思路,具体的实现复杂的功能还是需要聪明的你来做。(本文持续更新....)

1、table组件的问题

(1)table组件的formatter属性(用来格式化内容)

<template>
    <el-table :data="tableData" >
      <el-table-column prop="date" label="日期" width="180">
      </el-table-column>
      <el-table-column prop="name" label="姓名" :formatter="toHtml"  width="180">
      </el-table-column>
    </el-table>
  </template>
  export default {
    name: 'theme',
    data() {
      return {
         tableData: [{
            date: '2016-05-02',
            name: '王小虎'
          }, {
            date: '2016-05-04',
            name: '刘小二'
          }]
      },
      methods: {
       toHtml(value, cloumn) {
        return this.$createElement('b', value[cloumn.property]);
      }
    }
   }
此方法会让 “姓名” 这一列加粗,当然了还可以实现很多,自己去试试吧

效果如下图,默认情况下,姓名是不加粗的,这里我们让他加粗了。


image.png


(2)table组件的单元格如何插入html内容

<template>
    <el-table :data="tableData" >
      <el-table-column prop="date" label="日期" width="180">
      </el-table-column>
      <el-table-column prop="name" label="姓名" :formatter="toHtml"  width="180">
          <template scope="myscope">
               <b style="color:blue" @click="test(myscope.row.date)" v-if="myscope.row.name=='王小虎'">{{myscope.row.name}}</b>
                <b style="color:red" v-else>{{myscope.row.name}}</b>
          </template> 
      </el-table-column>
    </el-table>
  </template>
  export default {
    name: 'theme',
    data() {
      return {
         tableData: [{
            date: '2016-05-02',
            name: '王小虎'
          }, {
            date: '2016-05-04',
            name: '刘小二'
          }]
      }
    },
    methods:{
    test(e){
     alert(e)
    }
    }
   }

此方法用于插入html,据效果图可以看到style和函数都有,具体复杂的可以自己测试。此处说下<template scope="myscope">,这里scope的值用于临时存储上个组件传递进来的值,效果如下:


image.png


(3)关于上传图片的问题

如果一个页面有很多个上传,并且这个上传功能是根据数据动态渲染的,那么如果让上传跟字段绑定呢?

<el-upload
         :ref="item.fieldName"
         :action="importFileUrl"
         :on-change="(res,file)=>{return uploadFileImage(res,file, item.fieldName)}"
         :on-preview="handlePreview"
         :file-list="form[item.fieldName]">
 </el-upload>

这里我想表达的是on-change方法后边的函数,正常on-change方法会返给我们2个字段,一个res,file,但是我们这样写,就可以往下多传递个需要的字段。

(4)el-checkbox-group动态绑定的问题,会出现点击一个结果全部选中的问题

<el-form-item v-if="item.type==='checkbox'" :label="item.name">
    <el-checkbox-group v-model="form[item.fieldName]">
        <el-checkbox v-for="(checkboxArr,radcheckbox) in item.options.options"                 :label="checkboxArr.name" :value="checkboxArr.fieldName"></el-checkbox>
    </el-checkbox-group>
</el-form-item>

这个问题主要是 <el-checkbox-group v-model="form[item.fieldName]">这里v-model必须绑定的是个数组,切记。但是我们这样form[item.fieldName],会默认绑定的是个字符串类型,我们可以在created里便利数据

强制this.$set(this.form, val.fieldName, [])把数据类型转换成数组类型


相关文章
|
4月前
|
JavaScript
Ant Design Vue UI框架的基础使用,及通用后台管理模板的小demo【简单】
这篇文章介绍了如何使用Ant Design Vue UI框架创建一个简单的后台管理模板,包括创建Vue项目、安装和使用ant-design-vue、以及编写后台管理通用页面的代码和样式。
Ant Design Vue UI框架的基础使用,及通用后台管理模板的小demo【简单】
|
5月前
|
JavaScript
vue element-ui 中el-message重复弹出问题解决 el-message重复弹出解决办法
vue element-ui 中el-message重复弹出问题解决 el-message重复弹出解决办法
319 49
|
3月前
|
JavaScript 索引
Vue开发中Element UI/Plus使用指南:常见问题(如Missing required prop: “value“)及中文全局组件配置解决方案
Vue开发中Element UI/Plus使用指南:常见问题(如Missing required prop: “value“)及中文全局组件配置解决方案
256 0
|
5月前
|
JavaScript 前端开发 安全
[译] 在 Vue 组件中分离 UI 和业务逻辑。
[译] 在 Vue 组件中分离 UI 和业务逻辑。
|
5月前
|
JavaScript 开发者 UED
Vue.js组件库大对决:Element UI与Vuetify,开发者的罗密欧与朱丽叶!
【8月更文挑战第30天】Element UI和Vuetify是Vue.js开发中的热门组件库,前者简洁高效,后者遵循Material Design,国际化程度高。两者均提供丰富的组件支持,但Vuetify组件更多样,设计更灵活;Element UI在性能和中文支持上更优。文档方面,Element UI更直观易懂,而Vuetify配置灵活但学习成本稍高。选择时需综合考虑项目需求、团队背景及设计风格,以达到最佳开发效果。
303 0
|
5月前
|
JavaScript 前端开发
Vue实现Element UI框架的自定义输入框或下拉框在输入时对列表选项进行过滤,以及右键列表选项弹出菜单进行删除
本文介绍了如何在Vue框架结合Element UI库实现自定义输入框或下拉框,在输入时对列表选项进行过滤,并支持右键点击列表选项弹出菜单进行删除的功能。
151 0
|
5月前
|
JavaScript 容器
Vue+Element UI
该博客文章介绍了如何在Vue中集成Element UI来构建后台管理系统的左侧菜单,包括使用`el-menu`、`el-submenu`和`el-menu-item`等组件,并通过Vue router动态构建菜单项及其路由设置。
|
6月前
|
JavaScript
vue + element UI 表单中内嵌自定义组件的表单校验触发方案
vue + element UI 表单中内嵌自定义组件的表单校验触发方案
190 5
|
6月前
|
前端开发 JavaScript
零基础学 Vue + Element UI 第01步 —— 搭建开发环境、创建项目、修改默认模板、启动项目、访问项目
零基础学 Vue + Element UI 第01步 —— 搭建开发环境、创建项目、修改默认模板、启动项目、访问项目
89 1
|
6月前
|
JavaScript
vue + element UI【实战】音乐播放器/语音条(内含音频的加载、控制,事件监听,信息获取,手机网页阴影的去除等技巧)
vue + element UI【实战】音乐播放器/语音条(内含音频的加载、控制,事件监听,信息获取,手机网页阴影的去除等技巧)
142 1