소스 검색

table switch

pull/5/head
zhangtao 2 년 전
부모
커밋
ceeab5ebdc
2개의 변경된 파일61개의 추가작업 그리고 1개의 파일을 삭제
  1. +46
    -0
      src/components/DataTable/tools/Switch.vue
  2. +15
    -1
      src/views/system/user/index.vue

+ 46
- 0
src/components/DataTable/tools/Switch.vue 파일 보기

@@ -0,0 +1,46 @@
<template>
<n-switch v-bind="getSwitchProps" v-model:value="switchVlue" @update:value="changeValue" />
</template>

<script>
import { defineComponent, ref, unref, computed } from 'vue'
import { NSwitch } from 'naive-ui'
export default defineComponent({
name: 'TableSwitch',
props: {
...NSwitch.props,
data: {
type: [Object, String, Number, Boolean],
required: true
},
rowKey: {
type: String,
default: ''
}
},
emits: ['getRow'],
setup(props, { emit }) {
const switchVlue = ref()
const { data, rowKey } = unref(props)
switchVlue.value = rowKey ? data[rowKey] : data
const getSwitchProps = computed(() => {
return {
...unref(props)
}
})
function changeValue(value) {
const { data } = props
const params = {
data,
value
}
emit('getRow', params)
}
return {
switchVlue,
getSwitchProps,
changeValue
}
}
})
</script>

+ 15
- 1
src/views/system/user/index.vue 파일 보기

@@ -23,6 +23,7 @@ import dataTable from '@/components/DataTable/index.vue'
import TableAction from '@/components/DataTable/tools/Action.vue'
import TableImage from '@/components/DataTable/tools/Image.vue'
import TableTags from '@/components/DataTable/tools/Tags.vue'
import TableSwitch from '@/components/DataTable/tools/Switch.vue'
import { getUserList } from '@/api/system/user/index.js'
import { h, unref, ref } from 'vue'
import { reactive } from 'vue'
@@ -82,7 +83,16 @@ export default {
title: '状态',
key: 'status',
align: 'center',
width: 100
width: 100,
render(row) {
return h(TableSwitch, {
data: row,
rowKey: 'status',
checkedValue: 1,
uncheckedValue: 2,
onGetRow: getSwitch.bind(row)
})
}
},
{
title: '部门',
@@ -158,6 +168,10 @@ export default {
data.modalShow = true
}

function getSwitch(row) {
console.log(row)
}

return { data, loadDataTable, handleUser, rowData, modalTitle }
}
}

Loading…
취소
저장