ui-search.vue 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <template>
  2. <!-- 全局搜索框封装 -->
  3. <view class="ui-search">
  4. <uni-search-bar @confirm="confirmSearch" bgColor="#f3f5f9" cancelButton="none" v-model="searchValue"
  5. @cancel="cancelSearch" @clear="cancelSearch"
  6. :placeholder="placeholder">
  7. <template v-slot:searchIcon>
  8. <text></text>
  9. </template>
  10. </uni-search-bar>
  11. </view>
  12. </template>
  13. <script>
  14. /**
  15. * 封装搜索组件
  16. * @description 全局搜索组件样式行为统一封装
  17. */
  18. export default {
  19. name: 'ui-search',
  20. data() {
  21. return {
  22. searchValue: '', // 搜索内容
  23. }
  24. },
  25. props: {
  26. placeholder: {
  27. type: String,
  28. default: '请输入'
  29. }
  30. },
  31. methods: {
  32. // 提交搜索
  33. confirmSearch(e) {
  34. console.log(e);
  35. this.$emit("confirm", e.value)
  36. },
  37. // 清空搜索信息
  38. cancelSearch(e) {
  39. this.$emit("confirm", '')
  40. },
  41. }
  42. }
  43. </script>
  44. <style lang="scss" scoped>
  45. .ui-search .uni-searchbar {
  46. padding: 12rpx 24rpx;
  47. background-color: $bg-color;
  48. ::v-deep .uni-searchbar__box {
  49. height: 64rpx;
  50. border-radius: 36rpx !important;
  51. justify-content: flex-start;
  52. }
  53. }
  54. </style>