最近在公司的項目中有一個無聊的設計,不知道產品大媽是無聊仍是沒事作,讓我在表格中加一個日期選擇器,並且還要判斷數據庫裏有沒有該日期,有就直接顯示,沒有的話,就在表格中渲染一個日期選擇器供用戶選擇日期加時間,而後點擊執行能夠將該條日期加時間傳到數據庫裏。好了,廢話很少說。數據庫
1 { 2 title: "Plan-Receiving Time", 3 key: "planReceiveTime", 4 width: 160, 5 render: (h, params) => { 6 var timeDesign; 7 var me = this; 8 if (!params.row.planReceiveTime) { 9 return h('Div', [ 10 h('DatePicker', { 11 props: { 12 type: 'datetime', 13 format: 'yyyy-MM-dd HH:mm', 14 placeholder: 'date', 15 size: 'small', 16 confirm: 'true' 17 }, 18 style :{ 19 marginLeft: '1px' 20 }, 21 on: { 22 'on-change': (val) => { 23 // me.data1[params.index].planReceiveTime 24 //me.data1[params.index].planReceiveTime =val; 25 timeDesign = val; 26 console.log(val); 27 }, 28 'on-ok': () => { 29 me.data1[params.index].planReceiveTime =timeDesign; 30 this.open=false; 31 } 32 } 33 }) 34 ]) 35 }else { 36 return h('div',params.row.planReceiveTime) 37 } 38 } 39 }
實現過程當中問題:this
在Table中渲染一個Datepicker,若是要選擇到小時或者分鐘的程度,直接用on-change方法會出問題,在Datepicker上點擊一個日期或者做出任何change就會收起Datepicker,而後就不能再選擇時間了。spa
而後,我又嘗試,直接用on-ok方法,這樣作,當我點擊日期或者做出什麼改變,Datepicker不會收起來,點擊確認纔會收起來,能選到時間,可是on-ok方法不能獲得Datepicker的值,只有on-change方法才能獲得值。設計
解決方法:code
渲染的時候on-change 、on-ok方法一塊兒使用,具體見代碼orm