SearchUserPage.vue 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <template>
  2. <view class="search-user-container">
  3. <input class="input" type="text" v-model="keyword" :placeholder="$t('common.search')" @input="searchUser">
  4. <view v-if="users && users.length">
  5. <text class="category">搜索结果</text>
  6. <UserListVue
  7. class="result"
  8. :enable-pick="false"
  9. :users="users"
  10. :show-category-label="false"
  11. :padding-left="'10px'"/>
  12. </view>
  13. <text v-if="keyword && !users.length" class="tip">没有搜索到用户</text>
  14. </view>
  15. </template>
  16. <script>
  17. import UserListVue from "../user/UserListVue";
  18. import wfc from "../../wfc/client/wfc";
  19. import SearchType from "../../wfc/model/searchType";
  20. export default {
  21. name: "SearchUserPage",
  22. components: {UserListVue},
  23. data() {
  24. return {
  25. keyword: '',
  26. users: null,
  27. }
  28. },
  29. methods: {
  30. searchUser() {
  31. if (!this.keyword.trim()) {
  32. this.users = null;
  33. return;
  34. }
  35. console.log('search user', this.keyword);
  36. wfc.searchUser(this.keyword, SearchType.General, 0, (keyword, users) => {
  37. console.log('searchUser success', keyword, users)
  38. this.users = users;
  39. }, err => {
  40. console.log(' searchUser err', err)
  41. });
  42. }
  43. }
  44. }
  45. </script>
  46. <style lang="css" scoped>
  47. .search-user-container {
  48. width: 100%;
  49. height: 100%;
  50. display: flex;
  51. flex-direction: column;
  52. }
  53. .input {
  54. height: 40px;
  55. padding: 0 10px;
  56. width: 100%;
  57. border-bottom: 1px solid lightgrey;
  58. }
  59. .category{
  60. padding: 5px 10px;
  61. }
  62. .result {
  63. min-height: 0;
  64. flex: 1 1 auto;
  65. overflow-y: auto;
  66. }
  67. .tip {
  68. padding-top: 40px;
  69. text-align: center;
  70. }
  71. </style>