From b32bb59c702853c2a9b378c3e35b39108148423f Mon Sep 17 00:00:00 2001 From: ibuler Date: Fri, 22 May 2020 15:59:23 +0800 Subject: [PATCH] =?UTF-8?q?[Update]=20=E7=BB=A7=E7=BB=AD=E4=BC=98=E5=8C=96?= =?UTF-8?q?select2=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/AutoDataForm/index.vue | 1 - src/components/Select2/index.vue | 68 ++++++++++++---------- src/views/users/users/UserCreateUpdate.vue | 4 +- 3 files changed, 40 insertions(+), 33 deletions(-) diff --git a/src/components/AutoDataForm/index.vue b/src/components/AutoDataForm/index.vue index 53c24ab9a..1d82b9458 100644 --- a/src/components/AutoDataForm/index.vue +++ b/src/components/AutoDataForm/index.vue @@ -133,7 +133,6 @@ export default { field = this.generateFieldByName(name, field) field = this.generateFieldByOther(field, fieldMeta) field = Object.assign(field, this.fieldsMeta[name] || {}) - console.log(field) _.set(field, 'attrs.error', '') return field }, diff --git a/src/components/Select2/index.vue b/src/components/Select2/index.vue index 3266698b4..84afbdec1 100644 --- a/src/components/Select2/index.vue +++ b/src/components/Select2/index.vue @@ -88,38 +88,9 @@ export default { hasMore: true, pageSize: defaultPageSize } - const defaultMakeParams = (params) => { - const page = params.page || 1 - const offset = (page - 1) * params.pageSize - const p = { - offset: offset, - limit: params.pageSize - } - params = Object.assign(params, p) - delete params['page'] - delete params['pageSize'] - return params - } - const defaultProcessResults = (data) => { - let results = data.results - results = results.map((item) => { - return { label: item.name, value: item.id } - }) - const more = !!data.next - const total = data.count - return { results: results, pagination: more, total: total } - } - const defaultAjax = { - url: '', - pageSize: defaultPageSize, - makeParams: defaultMakeParams, - processResults: defaultProcessResults - } - const iAjax = Object.assign(defaultAjax, this.ajax, this.url ? { url: this.url } : {}) return { loading: false, initialized: false, - iAjax: iAjax, iValue: this.value ? this.value : [], defaultParams: _.cloneDeep(defaultParams), params: _.cloneDeep(defaultParams), @@ -130,12 +101,47 @@ export default { computed: { optionsValues() { return this.iOptions.map((v) => v.value) + }, + iAjax() { + const defaultPageSize = 10 + const defaultMakeParams = (params) => { + const page = params.page || 1 + const offset = (page - 1) * params.pageSize + const p = { + offset: offset, + limit: params.pageSize + } + params = Object.assign(params, p) + delete params['page'] + delete params['pageSize'] + return params + } + const defaultProcessResults = (data) => { + let results = data.results + results = results.map((item) => { + return { label: item.name, value: item.id } + }) + const more = !!data.next + const total = data.count + return { results: results, pagination: more, total: total } + } + const defaultAjax = { + url: '', + pageSize: defaultPageSize, + makeParams: defaultMakeParams, + processResults: defaultProcessResults + } + return Object.assign(defaultAjax, this.ajax, this.url ? { url: this.url } : {}) } }, watch: { - url(newValue, oldValue) { + // url(newValue, oldValue) { + // this.$log.debug('Select url changed: ', oldValue, ' => ', newValue) + // this.iAjax.url = newValue + // this.refresh() + // }, + iAjax(newValue, oldValue) { this.$log.debug('Select url changed: ', oldValue, ' => ', newValue) - this.iAjax.url = newValue this.refresh() } }, diff --git a/src/views/users/users/UserCreateUpdate.vue b/src/views/users/users/UserCreateUpdate.vue index 87259e510..a8843f5ea 100644 --- a/src/views/users/users/UserCreateUpdate.vue +++ b/src/views/users/users/UserCreateUpdate.vue @@ -46,7 +46,9 @@ export default { groups: { el: { multiple: true, - url: '/api/v1/users/groups/', + ajax: { + url: '/api/v1/users/groups/' + }, value: [] } }