selectTree.vue 967 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <!-- 机构选择下拉框 -->
  2. <template>
  3. <ele-tree-select
  4. ref="tree"
  5. clearable
  6. :value="value || ''"
  7. :data="data"
  8. label-key="name"
  9. value-key="id"
  10. default-expand-all
  11. :placeholder="placeholder"
  12. @input="updateValue"
  13. :disabled="disabled"
  14. />
  15. </template>
  16. <script>
  17. export default {
  18. props: {
  19. // 选中的数据(v-model)
  20. value: [Number, String],
  21. disabled: {
  22. type: Boolean,
  23. default: false
  24. },
  25. // 提示信息
  26. placeholder: {
  27. type: String,
  28. default: '请选择机构'
  29. },
  30. // 机构数据
  31. data: Array
  32. },
  33. methods: {
  34. /* 更新选中数据 */
  35. updateValue(value) {
  36. this.$emit('input', value);
  37. let nodesInfo = [];
  38. nodesInfo = this.$refs['tree'].getHalfCheckedKeys();
  39. nodesInfo.push(value);
  40. this.$emit('checkedKeys', nodesInfo);
  41. }
  42. }
  43. };
  44. </script>