layout.jsx 861 B

1234567891011121314151617181920212223242526
  1. import CipDropdown from '../../cip-dropdown'
  2. import { ElDropdownItem, ElDropdownMenu } from 'element-plus'
  3. const layoutOptions = ['left', 'left-2', 'top', 'top-left']
  4. export default {
  5. props: {
  6. modelValue: String,
  7. options: {
  8. type: Array,
  9. default: () => layoutOptions
  10. }
  11. },
  12. emits: ['update:modelValue'],
  13. setup (props, { emit }) {
  14. const handlerCommand = (val) => {
  15. emit('update:modelValue', val)
  16. }
  17. return () => <CipDropdown style={'height: 100%'} onCommand={(val) => handlerCommand(val)} popperClass='cip-nav-layout'>
  18. {{
  19. default: () => <span title={'布局'}>{props.modelValue}</span>,
  20. dropdown: () => <ElDropdownMenu >
  21. {props.options.map(option => <ElDropdownItem key={option} command={option}>{option}</ElDropdownItem>)}
  22. </ElDropdownMenu>
  23. }}
  24. </CipDropdown>
  25. }
  26. }