ソースを参照

type: Function,

zhuangyunsheng 1 ヶ月 前
コミット
fc72aa320d

+ 3 - 2
src/components/scTable/renderer/form-select.vue

@@ -1,9 +1,9 @@
 <template>
-    <el-select v-if="renderOpts.props.type == 'select'" :loading="loading" v-model="modelValue" v-bind="renderOpts.props" @change="compChange">
+    <el-select v-if="renderOpts.props.type == 'select'" :loading="loading" v-model="modelValue" v-bind="renderOpts.props" @focus="refreshOptions" @change="compChange">
         <el-option v-for="(item, index) in options" :key="index" :label="XEUtils.get(item, optionProps.label, item)" :value="XEUtils.get(item, optionProps.value, index)"></el-option>
     </el-select>
     
-    <el-tree-select v-if="renderOpts.props.type == 'treeSelect'" :loading="loading" v-model="modelValue" :nodeKey="optionProps.value" :data="options" :props="optionProps" checkStrictly v-bind="renderOpts.props" @change="compChange"></el-tree-select>
+    <el-tree-select v-if="renderOpts.props.type == 'treeSelect'" :loading="loading" v-model="modelValue" :nodeKey="optionProps.value" :data="options" :props="optionProps" checkStrictly v-bind="renderOpts.props" @focus="refreshOptions" @change="compChange"></el-tree-select>
 </template>
 
 <script setup>
@@ -29,6 +29,7 @@ const getRemoteData = async () => {
     }
 }
 
+const refreshOptions = () => props.renderOpts.api && !options.value.length && getRemoteData();
 const compChange = () => props.renderOpts.events.change({ [props.params.field]: modelValue.value });
 
 getRemoteData();

+ 2 - 2
src/components/scUpload/file.vue

@@ -98,8 +98,8 @@ export default {
         },
 
         success(res, file) {
-            let os = this.onSuccess(res, file);
-            if (os != undefined && os == false) return false;
+            const os = this.onSuccess(res, file);
+            if (os === false) return false;
             
             file.path = res.path;
             file.contentType = file.raw.type;

+ 4 - 3
src/components/scUpload/index.vue

@@ -76,7 +76,7 @@ export default {
         drag: { type: Boolean, default: false },
         disabled: { type: Boolean, default: false },
         round: { type: Boolean, default: false },
-        onSuccess: { type: Function, default: () => { return true } },
+        onSuccess: { type: Function, default: () => true },
         cropper: { type: Boolean, default: false },
         compress: { type: Number, default: 1 },
         aspectRatio: { type: Number, default: NaN }
@@ -200,8 +200,9 @@ export default {
             // 释放内存删除blob
             URL.revokeObjectURL(file.tempFile);
             delete file.tempFile;
-            let os = this.onSuccess(res, file);
-            if (os != undefined && os == false) {
+            
+            const os = this.onSuccess(res, file);
+            if (os === false) {
                 this.$nextTick(() => {
                     this.file = null;
                     this.value = "{}";

+ 3 - 3
src/components/scUpload/multiple.vue

@@ -60,7 +60,7 @@ export default {
         limit: { type: Number, default: 0 },
         multiple: { type: Boolean, default: true },
         disabled: { type: Boolean, default: false },
-        onSuccess: { type: Function, default: () => { return true } }
+        onSuccess: { type: Function, default: () => true }
     },
 
     data() {
@@ -129,8 +129,8 @@ export default {
         },
 
         success(res, file) {
-            let os = this.onSuccess(res, file);
-            if (os != undefined && os == false) return false;
+            const os = this.onSuccess(res, file);
+            if (os === false) return false;
             
             file.name = res.fileName;
             file.path = res.path;