index.jsx 1.0 KB

12345678910111213141516171819202122232425262728
  1. import CipButton from '../cip-button'
  2. import { generateProps, generateEmits } from '../helper/component-util'
  3. import { componentScheme } from './component.scheme'
  4. import './index.less'
  5. export default {
  6. name: 'CipSearchInput',
  7. props: generateProps(componentScheme),
  8. emits: generateEmits(componentScheme),
  9. setup (props, { emit, slots }) {
  10. const emitValue = (e) => {
  11. emit('update:modelValue', e.target.value)
  12. }
  13. return () => <div class={'cip-search-input__wrapper'}>
  14. <div class={'cip-search-input'}>
  15. <input class={'cip-search-input__input'} value={props.modelValue} onInput={(e) => emitValue(e)}/>
  16. <CipButton
  17. class={'cip-search-input__button'}
  18. type={'primary'}
  19. icon={'el-icon-search'}
  20. onClick={() => emit('search')}
  21. loading={props.loading}
  22. >{props.buttonText || slots.buttonText?.() || '搜索'}</CipButton>
  23. </div>
  24. {slots?.append && <div style={{ marginLeft: '12px' }}>{slots?.append()}</div>}
  25. </div>
  26. }
  27. }