no message

Former-commit-id: dea7d02b32e7cf813a0535cf4d7697ee343efe8b
Former-commit-id: 8741006345875b4d3283f7fe5ca1e0132ad6001e
Former-commit-id: 3d6a851fae2e6b4294e523282c5b27bb339e4c78
This commit is contained in:
李杨
2018-03-28 15:38:22 +08:00
parent 201e39a2c4
commit d423a80176
2 changed files with 34 additions and 54 deletions

View File

@@ -7,32 +7,23 @@
<el-table-column prop="id" label="id" width="50" align="center"></el-table-column> <el-table-column prop="id" label="id" width="50" align="center"></el-table-column>
<el-table-column prop="name" label="姓名" width="100"> <el-table-column prop="name" label="姓名" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input <el-input v-bind="inputSettingMaker(scope)"></el-input>
v-bind="inputSetting" <!-- <button @click="log(scope)">测试</button> -->
placeholder="姓名"
:ref="refMaker(scope)"
@focus="handleFocus(scope)">
</el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="address1" label="出生地" align="center"> <el-table-column prop="address1" label="出生地" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input <el-input v-bind="inputSettingMaker(scope)"></el-input>
v-bind="inputSetting"
placeholder="出生地"
:ref="refMaker(scope)"
@focus="handleFocus(scope)">
</el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="address2" label="现居地" align="center"> <el-table-column prop="address2" label="现居地" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input <el-input v-bind="inputSettingMaker(scope)"></el-input>
v-bind="inputSetting" </template>
placeholder="现居地" </el-table-column>
:ref="refMaker(scope)" <el-table-column label="操作" width="100" align="center">
@focus="handleFocus(scope)"> <template slot-scope="scope">
</el-input> <el-button size="small">编辑</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -40,7 +31,7 @@
</template> </template>
<script> <script>
import sleep from '@/utils/sleep.js' // import sleep from '@/utils/sleep.js'
import Mock from 'mockjs' import Mock from 'mockjs'
export default { export default {
data () { data () {
@@ -51,13 +42,6 @@ export default {
size: 'mini', size: 'mini',
stripe: true, stripe: true,
border: true border: true
},
//
inputSetting: {
size: 'small',
style: {
maxWidth: '200px'
}
} }
} }
}, },
@@ -65,22 +49,25 @@ export default {
// //
this.getData() this.getData()
}, },
mounted () {
this.keyboardExtentInit()
},
methods: { methods: {
// //
async getData () { async getData () {
this.table.data = this.dataFilter(await this.dataMaker()) this.table.data = this.dataFilter(await this.dataMaker())
}, },
// star // star __edit
dataFilter (val) { dataFilter (val) {
const rowFilter = ({ const rowFilter = ({
id = '', id = '',
name = '', name = '',
address1 = '', address1 = '',
address2 = '' address2 = ''
}) => ({id, name, address1, address2}) }) => ({
id,
name,
address1,
address2,
__edit: true //
})
return val.map(e => rowFilter(e)) return val.map(e => rowFilter(e))
}, },
// mock // mock
@@ -97,27 +84,20 @@ export default {
}).list) }).list)
}) })
}, },
// ref //
refMaker (scope) { inputSettingMaker (scope) {
return `kb-${scope.$index}-${scope.column.property}-kb` return {
value: scope.row[scope.column.property],
placeholder: scope.column.label,
size: 'small',
style: {
maxWidth: '200px'
}
}
}, },
// focus () //
handleFocus (scope) { log (scope) {
console.log(scope) console.log(scope)
},
// 访
async keyboardExtentInit () {
await sleep(1000)
for (const propName in this.$refs) {
if (/^kb-\d+-[a-zA-Z0-9-]+-kb$/.test(propName) && this.$refs.hasOwnProperty(propName)) {
const input = require('lodash.get')(this.$refs[propName], '$refs.input', false)
if (input) {
input.addEventListener('keydown', e => {
console.log(e)
})
}
}
}
} }
} }
} }

View File

@@ -43,14 +43,14 @@ export const menu = {
icon: 'table', icon: 'table',
children: [ children: [
{ {
title: '键盘访问', title: '可编辑',
icon: 'file-o', icon: 'file-o',
path: 'table/keyboard', path: 'table/edit',
name: 'demo-business-table-keyboard', name: 'demo-business-table-edit',
meta: { meta: {
requiresAuth: true requiresAuth: true
}, },
component: resolve => { require(['@/pages/demo/business/table/keyboard/inedx.vue'], resolve) } component: resolve => { require(['@/pages/demo/business/table/edit/index.vue'], resolve) }
} }
] ]
} }