Skip to content

Commit 9d44bb8

Browse files
committed
Merge branch 'rinu-feature/set-value-in-dom' into v1.x
* rinu-feature/set-value-in-dom: Simplify test added setting value via hidden input
2 parents 891600a + 93f08e2 commit 9d44bb8

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

src/Datetime.vue

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
v-on="$listeners"
1111
@click="open"
1212
@focus="open">
13-
<input v-if="hiddenName" type="hidden" :name="hiddenName" :value="value">
13+
<input v-if="hiddenName" type="hidden" :name="hiddenName" :value="value" @input="setValue">
1414
<slot name="after"></slot>
1515
<transition-group name="vdatetime-fade" tag="div">
1616
<div key="overlay" v-if="isOpen" class="vdatetime-overlay" @click.self="cancel"></div>
@@ -209,6 +209,10 @@ export default {
209209
}
210210
211211
return datetime.set({ minute: roundedMinute })
212+
},
213+
setValue (event) {
214+
this.datetime = datetimeFromISO(event.target.value)
215+
this.emitInput()
212216
}
213217
}
214218
}

test/specs/Datetime.spec.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -878,5 +878,30 @@ describe('Datetime.vue', function () {
878878
})
879879
})
880880
})
881+
882+
it('should update datetime when hidden input changes', function (done) {
883+
const vm = createVM(this,
884+
`<Datetime v-model="datetime" hidden-name="dt"></Datetime>`,
885+
{
886+
components: { Datetime },
887+
data () {
888+
return {
889+
datetime: '2020-05-07T00:00:00.000Z'
890+
}
891+
}
892+
})
893+
894+
const newDate = '2020-06-08T00:00:00.000Z'
895+
const hiddenInput = vm.$('.vdatetime input[name=dt]')
896+
897+
hiddenInput.value = newDate
898+
hiddenInput.dispatchEvent(new window.Event('input'))
899+
900+
vm.$nextTick(() => {
901+
expect(vm.datetime).to.be.equal(newDate)
902+
expect(hiddenInput.value).to.be.equal(newDate)
903+
done()
904+
})
905+
})
881906
})
882907
})

0 commit comments

Comments
 (0)