Giter VIP home page Giter VIP logo

el-tree-select's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

el-tree-select's Issues

当数据量较大时会有两个垂直滚动条

el-select-tree
将样式中的者两个属性删掉即可
.el-scrollbar .el-scrollbar__view .el-select-dropdown__item{
height: auto;
max-height: 274px; //删除
padding: 0;
overflow: hidden;
overflow-y: auto; //删除
}
el-select-tree

下拉多选树标题值重复就报错

你正在开发中的下拉多选树,多选树中的中文title,即valuesTitle数组中不能有重复值,有重复值就会报错,要是能解决就好了

数据渲染

下拉的数据和默认选中的是从接口中获取的,第一次加载的时候是显示默认值,修改js保存,页面自动刷新的时候才会把接口的默认值传递过去

同一页面多次使用组件时,this的问题

<SelectTree
      :props="props"
      :options="optionData"
      :value="valueId"
      :treeName="treeName"
      :clearable="isClearable"
      :accordion="isAccordion"
      @getValue="getValue($event)"/>

    <SelectTree
            :props="props"
            :options="optionData1"
            :value="valueId1"
            :treeName="treeName1"
            :clearable="isClearable"
            :accordion="isAccordion"
            @getValue="getValue($event)"/>

会出现选第二个组件时,watch 里的this 会变为第一个的,更新第一个组件的情况。
去除了handleNodeClick方法中的this.$emit('getValue',this.valueId)以后解决。
请问在什么情况下发生了上下文的变化,如何解决

scroll 会滚动到底部

数据多的时候 滚动条会滚动到底部 不能定位到当前位置
It'll scroll down to the bottom

初始化方法需要处理下。1,获取到node之后需要非空判断,2,valueId为空时需要将组件显示的值清空

// 初始化值
initHandle(){
if(this.valueId){
let node = this.$refs.selectTree.getNode(this.valueId)
if(node != null) {
this.valueTitle = node.data[this.props.label] // 初始化显示
this.$refs.selectTree.setCurrentKey(this.valueId) // 设置默认选中
this.defaultExpandedKey = [this.valueId] // 设置默认展开
}
} else {
this.valueTitle = '' // 清除缓存显示
}
this.$nextTick(()=>{
let scrollWrap = document.querySelectorAll('.el-scrollbar .el-select-dropdown__wrap')[0]
let scrollBar = document.querySelectorAll('.el-scrollbar .el-scrollbar__bar')
scrollWrap.style.cssText = 'margin: 0px; max-height: none; overflow: hidden;'
scrollBar.forEach(ele => ele.style.width = 0)
})
},

这个可以改成多选吗@lingdayan @canyuegongzi

@lingdayan @canyuegongzi

watch改成如下:

watch: {
    value() {
      this.valueId = this.value;
      this.initHandle();
    },
    options: {
      handler(newValue, oldValue) {
        this.valueId = this.value;
        this.initHandle();
      },
      deep: true
    }
  },

methods 里面 initHandle函数改成如下:

// 初始化值
    initHandle() {
      if (this.valueId) {
        this.$nextTick(() => {
          let node = this.$refs.selectTree.getNode(this.valueId);
          if (node != null) {
            this.valueTitle = node.data[this.props.label]; // 初始化显示
            this.$refs.selectTree.setCurrentKey(this.valueId); // 设置默认选中
            this.defaultExpandedKey = [this.valueId]; // 设置默认展开
          }
        });
      } else {
        this.valueTitle = ""; // 清除缓存显示
      }
      this.initScroll();
    },

Originally posted by @luwzchn in #9 (comment)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.