2 Commits b1dbbee2ba ... 967c76579a

Author SHA1 Message Date
  shudong 967c76579a Merge branch 'master' of http://192.168.2.241:3000/hdc/java-collect-fees-front 1 year ago
  shudong 69c7053e58 优化下拉组件的change事件,兼容单选和多选时获取选中的label值 1 year ago
1 changed files with 14 additions and 7 deletions
  1. 14 7
      src/views/mis/common/components/cps-select.vue

+ 14 - 7
src/views/mis/common/components/cps-select.vue

@@ -163,17 +163,24 @@ export default {
     },
     //change事件处理
     changeHandler(val) {
-      this.$nextTick(() => {
-        let selText = this.getSelectedText();
-        this.$emit('input', val, selText) //v-model实现,需要触发input
-        this.$emit('change', val, selText) //将原change事件暴露
-      });
+      let selText = this.getSelectedText(val);
+      this.$emit('input', val, selText); //v-model实现,需要触发input
+      this.$emit('change', val, selText); //将原change事件暴露 
     },
     /**
      * 获取当前选中项的文本值
+     * @param {array} arrVal 多选的数组值对象
      */
-    getSelectedText() {
-      return this.$refs.cpsSelect.selected.label;
+    getSelectedText(arrVal) {
+      if (this.multiple) {
+        //多选 
+        let isFlag = (arrVal instanceof Array);//多选必须传入数组对象
+        return isFlag ? this.optionList.filter((option) => arrVal.includes(option.value))
+          .map((option) => option.label).join(",") : "";
+      } else {
+        //单选
+        return this.$refs.cpsSelect.hoverOption.label;
+      }
     }
   }
 }