e3e3bdeb9e7e38349c3c4bc2976721516dc51dcb0c5fcf2241422439c7c8e6db39d9ef250998182d7235c1ea93b1f32ffa1d7a2302715c68041d683d899adf-exec 947 B

12345678910111213141516171819202122232425262728293031323334
  1. <script>
  2. import Input from './Input'
  3. import Placeholder from './Placeholder'
  4. export default {
  5. name: 'vue-treeselect--single-value',
  6. inject: [ 'instance' ],
  7. methods: {
  8. renderSingleValueLabel() {
  9. const { instance } = this
  10. const node = instance.selectedNodes[0]
  11. const customValueLabelRenderer = instance.$scopedSlots['value-label']
  12. return customValueLabelRenderer
  13. ? customValueLabelRenderer({ node })
  14. : node.label
  15. },
  16. },
  17. render() {
  18. const { instance, $parent: { renderValueContainer } } = this
  19. const shouldShowValue = instance.hasValue && !instance.trigger.searchQuery
  20. return renderValueContainer([
  21. shouldShowValue && (
  22. <div class="vue-treeselect__single-value">
  23. { this.renderSingleValueLabel() }
  24. </div>
  25. ),
  26. <Placeholder />,
  27. <Input ref="input" />,
  28. ])
  29. },
  30. }
  31. </script>