naive-ui/demo/documentation/components/select/enUS/scrollEvent.md
2019-10-18 16:45:40 +08:00

1.7 KiB

Scroll Event

<n-select
  v-model="value"
  placeholder="Please Select Type"
  :options="options"
  @scroll="handleScroll"
/>
<pre>{{ 
  JSON.stringify({
    scrollContentHeight,
    scrollContainerScrollTop,
    scrollContainerHeight
  }, 0, 2)
}}</pre>
export default {
  data () {
    return {
      value: null,
      array: null,
      scrollContentHeight: null,
      scrollContainerHeight: null,
      scrollContainerScrollTop: null,
      options: [
        {
          label: 'Drive My Car',
          value: 'song1'
        },
        {
          label: 'Norwegian Wood',
          value: 'song2'
        },
        {
          label: 'You Won\'t See',
          value: 'song3'
        },
        {
          label: 'Nowhere Man',
          value: 'song4'
        },
        {
          label: 'Think For Yourseld',
          value: 'song5'
        },
        {
          label: 'The Word',
          value: 'song6'
        },
        {
          label: 'Michelle',
          value: 'song7'
        },
        {
          label: 'What goes on',
          value: 'song8'
        },
        {
          label: 'Girl',
          value: 'song9'
        },
        {
          label: 'I\'m looking through you',
          value: 'song10'
        },
        {
          label: 'In My Life',
          value: 'song11'
        },
        {
          label: 'Wait',
          value: 'song12'
        }
      ]
    }
  },
  methods: {
    handleScroll (e, scrollContainer, scrollContent) {
      this.scrollContentHeight = scrollContent.offsetHeight
      this.scrollContainerScrollTop = scrollContainer.scrollTop
      this.scrollContainerHeight = scrollContainer.offsetHeight
    }
  }
}
.n-select {
  width: 180px;
  margin: 0 12px 8px 0;
}