index.tsx 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import { defineComponent, reactive } from 'vue';
  2. import styles from './index.module.less';
  3. import { NButton, NInput, NSelect, NSpace } from 'naive-ui';
  4. import { instrumentArray, teachingArray } from '@/utils/searchArray';
  5. import iconSearch from '../../components/resource-main/images/icon-search.png';
  6. export default defineComponent({
  7. name: 'resource-search-group',
  8. setup() {
  9. const forms = reactive({
  10. search: null
  11. });
  12. return () => (
  13. <>
  14. <div class={styles.searchGroup}>
  15. <NSpace size="small" class={styles.btnType}>
  16. <NButton type="primary" round size="small">
  17. 全部
  18. </NButton>
  19. <NButton secondary round size="small">
  20. 乐谱
  21. </NButton>
  22. <NButton secondary round size="small">
  23. 图片
  24. </NButton>
  25. <NButton secondary round size="small">
  26. 音频
  27. </NButton>
  28. <NButton secondary round size="small">
  29. 视频
  30. </NButton>
  31. </NSpace>
  32. <div class={styles.searchSelect}>
  33. <NSelect placeholder="教材" options={teachingArray} clearable />
  34. <NSelect placeholder="乐器" options={instrumentArray} clearable />
  35. </div>
  36. <NInput
  37. type="text"
  38. placeholder="请输入搜索关键词"
  39. clearable
  40. v-model:value={forms.search}
  41. class={styles.inputSearch}>
  42. {{
  43. prefix: () => <img src={iconSearch} class={styles.iconSearch} />,
  44. suffix: () => (
  45. <NButton
  46. type="primary"
  47. class={styles.searchBtn}
  48. disabled={forms.search ? false : true}>
  49. 搜索
  50. </NButton>
  51. )
  52. }}
  53. </NInput>
  54. </div>
  55. </>
  56. );
  57. }
  58. });