Heim > Web-Frontend > js-Tutorial > Hauptteil

Einführung in die Methode zur Implementierung editierbarer Tabellen in iView (mit Code)

不言
Freigeben: 2019-02-20 14:08:07
nach vorne
5266 Leute haben es durchsucht

Dieser Artikel bietet Ihnen eine Einführung in die Methode zur Implementierung bearbeitbarer Tabellen in iView (mit Code). Ich hoffe, dass er für Freunde hilfreich ist.

Komponente

<i-table highlight-row ref="currentRowTable" :columns="columns" :data="tableData"></i-table>
Nach dem Login kopieren

Implementierungsmethode:

  • Zeichnen Sie die ID der Spalte auf, die aktuell bearbeitet werden muss, die Standardeinstellung ist leer

  • Die Spalte, die bearbeitet werden muss, entspricht der ID, die aktuell bearbeitet werden muss. Bei Erfolg wird die Spalte so gerendert, dass sie eine Eingabebeschriftungskomponente enthält, und das Eingabeereignis wird angezeigt gebunden sein

Datenverarbeitung

export default {
    data () {
        return {
            currentId: '',
            currentScore: '',
            columns: [
                { title: '名称', key: 'name', align: 'center' },
                {
                title: '班级',
                align: 'center',
                render: (h, p) => {
                    const { id, score } = p.row
                    const inp = h('input', {
                    style: {
                        width: '30%',
                        padding: '4px 2px',
                        borderRadius: '4px',
                        border: '1px solid #e9eaec',
                        textAlign: 'center'
                    },
                    attrs: {
                        maxlength: 16
                    },
                    domProps: {
                        value: score
                    },
                    on: {
                            input: (event) => {
                            this.currentScore = event.target.value
                        }
                    }
                    })
                    return this.currentId === p.row.id ? inp : h('span', score)
                }
                },
                {
                title: '操作',
                align: 'center',
                render: (h, p) => {
                    const { currentId } = this
                    const { id } = p.row
                    const btnEdit = h('i-button', {
                    on: {
                        click: () => {
                            this.currentId = id
                        }
                    }
                    }, '编辑')

                    const btnSaveCancel = [
                        h('i-button', {
                            on: {
                            click: () => {
                                this.handleSave(id)
                            }
                            }
                        }, '保存'),
                        h('i-button', {
                            on: {
                            click: () => {
                                this.currentId = ''
                                this.currentScore = ''
                            }
                            }
                        }, '取消')]
                    return currentId === id ? h('p', btnSaveCancel) : btnEdit
                }
                }
            ],
            tableData: [
                { id: 1, name: 1, score: 1 },
                { id: 2, name: 2, score: 2 }]
        }
    },

    methods: {
        handleSave (id) {
            const {currentScore, tableData} = this
            this.tableData = tableData.map(v => {
                return v.id === id ? { ...v, score: currentScore } : v
            })
            this.currentId = ''
            this.currentScore = ''
        }
    }
}
Nach dem Login kopieren

Hinweis: Wenn iView im Head-Tag eingeführt wird, ist diese Methode im Projekt ungültig durch Kompilierung entwickelt sind machbar

Das obige ist der detaillierte Inhalt vonEinführung in die Methode zur Implementierung editierbarer Tabellen in iView (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage