Skip to content

Commit 539e693

Browse files
authored
Merge pull request #143 from ParadeTo/fix-blur-on-safari
fix: 🐛 fix no change-name event when click enter on safari
2 parents 7b677a6 + 798b474 commit 539e693

File tree

2 files changed

+4
-12
lines changed

2 files changed

+4
-12
lines changed

src/VueTreeList.vue

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@
5555
:value="model.name"
5656
@input="updateName"
5757
@blur="setUnEditable"
58+
@keyup.enter="setUnEditable"
5859
/>
5960
<div class="vtl-operation" v-show="isHover">
6061
<span
@@ -140,7 +141,7 @@
140141

141142
<script>
142143
import { TreeNode } from './Tree.js'
143-
import { addHandler, removeHandler } from './tools.js'
144+
import { removeHandler } from './tools.js'
144145
145146
let compInOperation = null
146147
@@ -215,15 +216,6 @@ export default {
215216
beforeCreate() {
216217
this.$options.components.item = require('./VueTreeList').default
217218
},
218-
mounted() {
219-
const vm = this
220-
addHandler(window, 'keyup', function(e) {
221-
// click enter
222-
if (e.keyCode === 13 && vm.editable) {
223-
vm.editable = false
224-
}
225-
})
226-
},
227219
beforeDestroy() {
228220
removeHandler(window, 'keyup')
229221
},
@@ -253,6 +245,7 @@ export default {
253245
},
254246
255247
setUnEditable(e) {
248+
if (this.editable === false) return
256249
this.editable = false
257250
var oldName = this.model.name
258251
this.model.changeName(e.target.value)

tests/unit/operation.spec.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,7 @@ describe('Operation', () => {
7575
const $input = wrapper.find('#t1 .vtl-input')
7676
$input.element.value = 'New Node 1'
7777
$input.trigger('input')
78-
var event = new KeyboardEvent('keyup', { keyCode: 13 })
79-
window.dispatchEvent(event)
78+
$input.trigger('blur')
8079
Vue.nextTick(() => {
8180
expect(wrapper.find('#t1').text()).toBe('New Node 1')
8281
done()

0 commit comments

Comments
 (0)