Przeglądaj źródła

feat: 远程搜索组件优化

mnisting 5 miesięcy temu
rodzic
commit
008895b2f0
2 zmienionych plików z 29 dodań i 7 usunięć
  1. 10 0
      src/api/public.js
  2. 19 7
      src/components/SelectRemote/index.vue

+ 10 - 0
src/api/public.js

@@ -0,0 +1,10 @@
+import request from "@/utils/request";
+
+// 获取路由
+export const getData = (url, query) => {
+  return request({
+    url,
+    method: "get",
+    params: query,
+  });
+};

+ 19 - 7
src/components/SelectRemote/index.vue

@@ -1,6 +1,7 @@
 <!-- el-select远程搜索公共组件 -->
 <template>
   <el-select
+    :disabled="disabled"
     style="width: 100%"
     ref="selectRef"
     v-loadmore="loadmore"
@@ -45,6 +46,14 @@ export default {
       type: Object,
       default: () => {},
     },
+    searchParams: {
+      type: Object,
+      default: () => {},
+    },
+    disabled: {
+      type: Boolean,
+      default: false,
+    },
   },
   data() {
     return {
@@ -56,15 +65,17 @@ export default {
     };
   },
   watch: {
-    value(newVal) {
-      // console.log(newVal);
-      this.selectId = newVal;
-      this.options = [this.selectObj];
+    selectObj(newVal) {
+      console.log(newVal);
+      if (newVal) {
+        this.selectId = newVal.id;
+        this.options = [newVal];
+      }
     },
   },
-  created() {
-    this.getList();
-  },
+  // created() {
+  //   this.getList();
+  // },
   methods: {
     onChange() {
       this.$emit("input", this.selectId);
@@ -84,6 +95,7 @@ export default {
     // 输入框没有值时默认请求第一页8条数据
     getList() {
       let params = {
+        ...this.searchParams,
         pageNum: 1,
         pageSize: 8,
       };