소스 검색

fix the autocomplete value

chenxin0723 1 년 전
부모
커밋
73ae3c0997
2개의 변경된 파일12개의 추가작업 그리고 6개의 파일을 삭제
  1. 0 0
      vuetifyx/vuetifyxjs/dist/vuetifyxjs.umd.min.js
  2. 12 6
      vuetifyx/vuetifyxjs/src/components/Autocomplete.tsx

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
vuetifyx/vuetifyxjs/dist/vuetifyxjs.umd.min.js


+ 12 - 6
vuetifyx/vuetifyxjs/src/components/Autocomplete.tsx

@@ -1,10 +1,10 @@
 import Vue, { CreateElement, VNode, VNodeData } from 'vue';
 import draggable from 'vuedraggable';
 import { VAutocomplete, VPagination } from 'vuetify/lib';
-import { Core, SelectedItems, slotTemplates } from './Helpers';
+import { Core, slotTemplates } from './Helpers';
 
 export default Vue.extend({
-	mixins: [Core, SelectedItems],
+	mixins: [Core],
 	components: {
 		vpagination: VPagination,
 		vautocomplete: VAutocomplete,
@@ -86,8 +86,14 @@ export default Vue.extend({
 					}
 				})
 			})
-
-			this.cachedSelectedItems = (cachedSelectedItems) as [];
+			// remove duplicate items
+			const uniqueCachedSelectedItems = cachedSelectedItems.filter((obj, index, self) => {
+				return index === self.findIndex((o) => (
+					o.value === obj.value
+				));
+			});
+			this.cachedSelectedItems = (uniqueCachedSelectedItems) as [];
+			console.log("cachedSelectedItems", this.cachedSelectedItems);
 			this.value = vals;
 			this.$emit("change", vals);
 		},
@@ -106,9 +112,9 @@ export default Vue.extend({
 	},
 
 	created() {
-		this.listItems =  this.$props.items || this.$props.selectedItems || [];
-		this.cachedSelectedItems = this.$props.selectedItems || [];
+		this.listItems =  this.$props.items || [];
 		this.value = (this.$attrs.value) as any || [];
+		this.cachedSelectedItems = this.value;
 	},
 
 	mounted() {

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.