vue组件vue-treeselect箭头和叉图标变大问题及解决

目录
  • vue-treeselect箭头和叉图标变大
    • 解决方法
    • 解决后的样子
  • 插件vue-treeselect用法
    • 首先需要安装
    • 用法看代码注释

vue-treeselect箭头和叉图标变大

最近在项目开发过程中使用vue的treeselect组件遇到了图标变大的问题,附图:

其他页面也有应用到这个组件但没有出现这种情况,在我从正常页面跳转到这个页面的时候,不会出现问题,几个页面的样式代码并没有区别。

后经排查发现问题是因为没有引入treeselect的样式导致的,没有异常的页面是因为页面引入的子组件引入了treeselect样式。

解决方法

在使用到treeselect样式的页面中引入样式:import ‘@riophae/vue-treeselect/dist/vue-treeselect.css’

解决后的样子

插件vue-treeselect用法

效果图:

首先需要安装

npm install --save @riophae/vue-treeselect

用法看代码注释

 <template>
 <el-form ref="form"
           :model="searchForm"
           label-width="100px"
           :inline="true"
           :size="$formSize">
    <el-form-item label="区域:">
    <!--使用此插件过程中发现了一个新的问题,可能会因为层级样式问题在element组件中无法展示选项-->
    <!--修改方法就是将append-to-body的绑定值改为false-->
      <treeselect :append-to-body="true"
                  v-model="searchForm.areaId"
                  :options="areaAllList"
                  :normalizer="normalizer"
                  :show-count="true"
                  placeholder="请选择所属区域" />
    </el-form-item>
 </el-form>
 </template>
<script>
//引入插件
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
  //使用组件
  components: { Treeselect },
  data () {
    return {
      areaAllList: [],
      searchForm: {
        areaId: null,//绑定值必须为null,否则输入框中会提示unkonwn
      },
    }
  },
  mounted () {
    this.getAreaAll()
  },
  methods: {
    //转换菜单数据结构
    normalizer (node) {
      if (node.children && !node.children.length) {
        delete node.children;
      }
      return {
        id: node.areaId,
        label: node.areaName,
        children: node.children,
      };
    },
    //调用接口获取select选项数据
    getAreaAll () {
      request({
        url: `/manager/Area/AllAreaTree`,
        method: "get",
      }).then((res) => {
        if (res[SETTING.MANAGER_STATE] === SETTING.MANAGER_SUCCESS_STATE) {
          this.areaAllList = res.data;
        } else {
          this.$message({
            type: "error",
            message: res.message || "操作失败",
          });
        }
      });
    },
  }
}
</script>
<style lang="scss" scoped>
::v-deep .vue-treeselect__control {
  max-width: 215px;
}
</style>

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 关于vue-treeselect绑值、回显等常见问题的总结

    目录 vue-treeselect绑值.回显常见问题 这里以表单里的举例 最主要的几点就是 vue3-treeselect绑定数据有bug问题 vue-treeselect绑值.回显常见问题 最近vue-treeselect使用的比较多,分享一波 可以用在表单里,也可以用在可编辑的表格内 这里以表单里的举例 在main.js中引入 import ElTreeSelect from 'el-tree-select' import Treeselect from '@riophae/vue-tree

  • element-ui+vue-treeselect下拉框的校验过程

    目录 element-ui+vue-treeselect下拉框的校验(ivew也适用) vue-treeselect的插件使用 element-ui+vue-treeselect下拉框的校验(ivew也适用) 在项目开发中 使用了vue-treeselect的话,使用element-ui或者ivew自带的表单校验发现,trigger中blur和change均不生效,在选择了值之后验证依然存在 解决方法主要是使用vue-treeselect官网中api给出的事件中的input,在value改变后触

  • vue-treeselect显示unknown的问题及解决

    目录 vue-treeselect显示unknown问题 解决办法一 解决办法二 vue-treeselect中的小tip vue-treeselect显示unknown问题 解决办法一 官方上面绑定的value是不能为空的,要写成null才不会出现 解决办法二 这个方法简单粗暴~ 直接修改去你这个node-modules包里面找到这个组件的源码,在它dist文件里面找到这个文件 搜索unknown,把它干掉,完美解决 vue-treeselect中的小tip 1.设置选中当前节点不默认选中父节

  • 关于下拉类型多选组件Vue-Treeselect(键名转换)

    目录 下拉类型多选组件Vue-Treeselect(键名转换) 支持的功能项 在一般项目中也可以使用 vue-treeselect下拉树 稍微注意点 下拉类型多选组件Vue-Treeselect(键名转换) 支持的功能项 1.支持嵌套选项的单选和多选 2.模糊匹配 3.异步搜索 4.延迟加载(仅在需要时加载深度选项的数据) 5.键盘支持(使用Arrow Up & Arrow Down键导航,使用键选择选项Enter等) 6.丰富的选项和高度可定制的 7.支持 多种浏览器 它支持在vue项目中通过

  • 如何修改vue-treeSelect的高度

    目录 修改vue-treeSelect的高度 vue-treeselect的基本使用 1.vue-treeselect是一个树形的下拉菜单 2.引入组件和样式 3.使用 修改vue-treeSelect的高度 .vue-treeselect{ height: 28px; } .vue-treeselect .vue-treeselect__control{ height: 28px !important; } .vue-treeselect__placeholder{ line-height:

  • vue-treeselect无法点击问题(点击无法出现拉下菜单)

    目录 vue-treeselect无法点击 问题原因 可正常点击 不能正常点击 vue-treeselect的基本一些用法 1.首先需要先安装 2.需要引入至vue页面使用 3.需要在页面中写入 4.这里举例实际应用 5.当点击时加载子数据 6.实际的效果图 vue-treeselect无法点击 问题原因 样式冲突(使用了elementui) 场景:在el-form标签中,如果使用了标签,并且父标签不是的话,就会出现无法点击的问题.(没有严格按elementui的标签嵌套) 可正常点击 <el-

  • vue组件vue-treeselect箭头和叉图标变大问题及解决

    目录 vue-treeselect箭头和叉图标变大 解决方法 解决后的样子 插件vue-treeselect用法 首先需要安装 用法看代码注释 vue-treeselect箭头和叉图标变大 最近在项目开发过程中使用vue的treeselect组件遇到了图标变大的问题,附图: 其他页面也有应用到这个组件但没有出现这种情况,在我从正常页面跳转到这个页面的时候,不会出现问题,几个页面的样式代码并没有区别. 后经排查发现问题是因为没有引入treeselect的样式导致的,没有异常的页面是因为页面引入的子

  • vue组件和iframe页面的相互传参问题及解决

    目录 vue组件和iframe页面相互传参 vue组件调用iframe页面方法和参数 iframe页面向vue组件传参 内嵌iframe页面并进行传值 vue组件和iframe页面相互传参 目前网上大多关于iframe父子传参的博客都是在叙述父页面是html文件,子iframe文件也是html文件,涉及到父页面是vue组件子iframe页面是html的博客多数讲的不是很明白: 而最近我在项目中碰到了这种需求:在vue组件中嵌入iframe页面,并实现父子传参: vue组件调用iframe页面方法

  • vue组件中节流函数的失效的原因和解决方法

    今天使用节流函数的时候遇见了一个问题,搞了半天才找到原因,所以在这里做个总结. 节流函数 浏览器的一些事件,如:resize,scroll,mousemove等.这些事件触发频率太过频繁,绑定在这些事件上的回调函数会不停的被调用,加重浏览器的负担,导致用户体验非常糟糕.所以先贤们发明了节流函数,简单版本如下: function throttle (f, wait = 200) { let last = 0 return function (...args) { let now = Date.no

  • require.js 加载 vue组件 r.js 合并压缩的实例

    准备: vue.js 原本是学习vue组件 require.js 然后想到用require 加载 r.js 文件太多 合并 文件目录 忽略部分文件及文件夹 一.先说vue 组件 先引入vue 再引入vue组件 Vue.extend({}) 定义组件 template data methods Vue.component(),注册组件的标签,标签在html中是一个挂载点 new Vue() 进行实例化 index.html // css引入 略 <div id="header"&g

  • Vue组件大全包括(UI组件,开发框架,服务端,辅助工具,应用实例,Demo示例)

    Vue是一款比较流行的JS库,本文为大家介绍一些Vue组件,包括UI组件,开发框架,服务端,辅助工具,应用实例,Demo示例等开源项目 一.Vue常用UI组件 element ★11612 - 饿了么出品的Vue2的web UI工具套件 Vux ★7503 - 基于Vue和WeUI的组件库 iview ★5801 - 基于 Vuejs 的开源 UI 组件库 mint-ui ★5517 - Vue 2的移动UI元素 vue-material ★2790 - 通过Vue Material和Vue 2

  • vue组件component的注册与使用详解

    目录 1.什么是Vue组件 (1)定义 (2)父子关系 2.Vue组件使用(注册方式) 1.局部注册(私有组件注册) 2.全局注册 3.使用组件的步骤: 1.什么是Vue组件 (1)定义 组件是Vue是一个可以重复使用的Vue实例, 它拥有独一无二的组件名称,它可以扩展HTML元素,以组件名称的方式作为自定义的HTML标签. 因为组件是可复用的Vue实例, 所以它们与new Vue() 接收相同的选项 例如 data, computed.watch.methods以及生命周期钩子等.仅有的例外是

  • Vue中使用better-scroll实现轮播图组件

    better-scroll 是什么 better-scroll 是一款重点解决移动端(已支持 PC)各种滚动场景需求的插件.它的核心是借鉴的 iscroll 的实现,它的 API 设计基本兼容 iscroll,在 iscroll 的基础上又扩展了一些 feature 以及做了一些性能优化. better-scroll 是基于原生 JS 实现的,不依赖任何框架.它编译后的代码大小是 63kb,压缩后是 35kb,gzip 后仅有 9kb,是一款非常轻量的 JS lib. 今天我们利用它实现一个横向

  • 学习Vue组件实例

    Vue实例 项目启动过程 看一下现在我们的项目,想想整个项目的启动过程是什么(以直接打开index.html的方法访问为例来说明)? 你首先打开了index.html,里面只有一个写了一个id='root'的div,还有你引入了打包之后的代码,然后Vue自己肯定运行了一下(可以认为是Vue初始化). 接着,应该是执行了entry.js(因为打包是webpack打包的,你配置的入口文件就这一个). entry.js干了什么,是的,创建了一个Vue实例对象,然后这个对象管理的区域根据el属性知道,应

  • vue组件间通信六种方式(总结篇)

    前言 组件是 vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用.一般来说,组件可以有以下几种关系: 如上图所示,A 和 B.B 和 C.B 和 D 都是父子关系,C 和 D 是兄弟关系,A 和 C 是隔代关系(可能隔多代). 针对不同的使用场景,如何选择行之有效的通信方式?这是我们所要探讨的主题.本文总结了vue组件间通信的几种方式,如props. $emit / $on .vuex. $parent / $children . $attrs

  • Vue组件生命周期三个阶段全面总结讲解

    目录 组件生命周期 创建阶段 beforeCreate阶段 created阶段 beforeMount阶段 mounted阶段 运行阶段 beforeUpdate阶段 updated阶段 销毁阶段 beforeDestroy阶段 destroyed阶段 总结 组件生命周期 生命周期(Life Cycle)是指一个组件从 创建 -> 运行 -> 销毁 的整个阶段,强调的是一个时间段. 生命周期函数:是由 vue 框架提供的内置函数,会伴随着组件的生命周期,自动按次序执行. 创建阶段 before

随机推荐