@leevan/jtui 2.0.54-beta.3 → 2.0.54-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leevan/jtui",
3
- "version": "2.0.54-beta.3",
3
+ "version": "2.0.54-beta.4",
4
4
  "scripts": {
5
5
  "serve": "vue-cli-service serve",
6
6
  "build": "vue-cli-service build",
@@ -117,14 +117,6 @@ export default {
117
117
  type: {
118
118
  type: String,
119
119
  default: 'text'
120
- },
121
- row: {
122
- type: Object,
123
- default: null
124
- },
125
- prop: {
126
- type: String,
127
- default: ''
128
120
  }
129
121
  },
130
122
  data() {
@@ -143,9 +135,6 @@ export default {
143
135
  }
144
136
  },
145
137
  mounted() {
146
- if (this.row && this.prop && !(this.prop in this.row)) {
147
- this.$set(this.row, this.prop, this.value == null ? '' : this.value);
148
- }
149
138
  this.$nextTick(() => {
150
139
  if (this.$refs.inputRef) {
151
140
  const input = this.$refs.inputRef.$el ? this.$refs.inputRef.$el.querySelector('input') : this.$refs.inputRef;
@@ -163,13 +152,6 @@ export default {
163
152
  this.doComplete();
164
153
  },
165
154
  doComplete() {
166
- if (this.row && this.prop) {
167
- if (!(this.prop in this.row)) {
168
- this.$set(this.row, this.prop, this.currentValue);
169
- } else {
170
- this.row[this.prop] = this.currentValue;
171
- }
172
- }
173
155
  this.$emit('input', this.currentValue);
174
156
  this.closeEdit();
175
157
  },
@@ -59,10 +59,9 @@
59
59
  </div>
60
60
  <EditInput
61
61
  v-else-if="item && item.edit && item.edit.name == '$input'"
62
- v-model="row[subSubItem.prop]"
62
+ :value="row[subSubItem.prop]"
63
63
  :type="(item.edit.props && item.edit.props.type) || 'text'"
64
- :row="row"
65
- :prop="subSubItem.prop"
64
+ @input="(val) => handleInputChange(val, row, subSubItem.prop)"
66
65
  />
67
66
  </template>
68
67
  </vxe-table-column>
@@ -112,10 +111,9 @@
112
111
  </div>
113
112
  <EditInput
114
113
  v-else-if="item && item.edit && item.edit.name == '$input'"
115
- v-model="row[subItem.prop]"
114
+ :value="row[subItem.prop]"
116
115
  :type="(item.edit.props && item.edit.props.type) || 'text'"
117
- :row="row"
118
- :prop="subItem.prop"
116
+ @input="(val) => handleInputChange(val, row, subItem.prop)"
119
117
  />
120
118
  </template>
121
119
  </vxe-table-column>
@@ -166,10 +164,9 @@
166
164
  </div>
167
165
  <EditInput
168
166
  v-else-if="item && item.edit && item.edit.name == '$input'"
169
- v-model="row[item.prop]"
167
+ :value="row[item.prop]"
170
168
  :type="(item.edit.props && item.edit.props.type) || 'text'"
171
- :row="row"
172
- :prop="item.prop"
169
+ @input="(val) => handleInputChange(val, row, item.prop)"
173
170
  />
174
171
  </template>
175
172
  </vxe-table-column>
@@ -264,6 +261,13 @@ export default {
264
261
  const findItem = this.item.edit.options.find(op => op.value === value);
265
262
  return findItem ? findItem.label : (value || '请选择');
266
263
  },
264
+ handleInputChange(val, row, prop) {
265
+ if (!(prop in row)) {
266
+ this.$set(row, prop, val);
267
+ } else {
268
+ row[prop] = val;
269
+ }
270
+ },
267
271
  toggleDropdown() {
268
272
  this.isOpen = !this.isOpen;
269
273
  },