naive-ui/demo/documentation/components/cascader/enUS/singleLazy.md
2020-02-04 21:44:48 +08:00

765 B

Async Single

<n-cascader
  v-model="value"
  placeholder="Please Select Something"
  :options="options"
  :leaf-only="false"
  remote
  :on-load="handleLoad"
/>
function genChildren (option) {
  const children = []
  for (let i = 0; i <= option.depth; ++i) {
    children.push({
      label: option.label + '_' + i,
      value: option.label + '_' + i,
      isLeaf: option.depth === 3
    })
  }
  return children
}

const options = [
  {
    label: 'Root',
    value: 'root',
    isLeaf: false
  }
]

export default {
  data () {
    return {
      value: null,
      options: options
    }
  },
  methods: {
    handleLoad (option, resolve) {
      window.setTimeout(() => {
        resolve(genChildren(option))
      }, 1000)
    }
  }
}