<template>
<div class="isShowSelectScene" style="width: 100%;height: 100%;">
<a-table
v-if="ishowTable"
:columns="sceneColumns"
:data-source="sceneData"
:rowKey="(record) => record.sceneId"
bordered
:row-selection="rowSelection"
>
<!--場景類別-->
<template #type="{ record }">
<span v-if="record.type == 1">設備級</span>
<span v-else-if="record.type == 2">
系統(tǒng)級
</span>
<span v-else>
分系統(tǒng)級
</span>
</template>
<!--場景內容-->
<template #sceneContent="{ record }">
<span
style="display: inline-block;width: 140px;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">
{{record.sceneContent}}
</span>
</template>
</a-table>
</div>
</template>
<script setup>
import {computed, defineEmits, defineExpose, defineProps, onMounted, ref} from 'vue';
import {getSceneListApi} from "../../../../../../common/api/scene/sceneApi.js"
// 接收父組件傳遞的方法
let myEmit = defineEmits(['changeSelectSonSceneId'])
let isShowSelectScene = ref(true)
const sceneColumns = [
{
title: '場景名稱',
dataIndex: 'sceneName',
key: 'sceneName',
// width:'20%',
// slots: {
// title: 'customTitle',
// customRender: 'name',
// },
},
{
title: '場景類別',
dataIndex: 'type',
key: 'type',
slots: {customRender: 'type'},
// width:'10%',
},
{
title: '場景內容',
key: 'sceneContent',
dataIndex: 'sceneContent',
width: '20%',
slots: {customRender: 'sceneContent'},
},
{
title: '創(chuàng)建人',
dataIndex: 'createUserName',
key: 'createUserName',
// width:'10%',
},
{
title: '創(chuàng)建時間',
key: 'createTime',
dataIndex: 'createTime',
// width:'20%',
}
]
let sceneData = ref([])
let dataListSelectionKeys = ref([])
let selectOnSelectChange = (selectedRowKeys, selectedRows) => {
myEmit('changeSelectSonSceneId', selectedRowKeys)
// props.currentSelectSonSceneId = selectedRowKeys
// console.log(props.currentSelectSonSceneId)
}
onMounted(() => {
let apiData = {
treeType: '0',
type:'3'
}
getSceneList(apiData)
})
let getSceneList = (apiData) => {
apiData.treeType = apiData.treeType === '0' ? '' : apiData.treeType
getSceneListApi(apiData).then(res => {
sceneData.value = res.data
})
}
// 編輯調用
let toFatherMethod = (record) => {
}
// 暴露給父組件的值
defineExpose({isShowSelectScene, toFatherMethod})
// 暴露給父組件的方法
// 接收父組件的值
let props = defineProps(
{
selectDeptData: {
type: Object,
default: () => {
}
},
ishowTable:{
type:Boolean,
default:()=>true
},
nowSelectLevel: {
type: String,
default: () => ""
},
currentSelectSonSceneId: {
type: Array,
default: () => []
},
defaultChecked: {
type: String,
default: () => ''
}
}
)
// 接收父組件傳遞的方法
// let myEmit = defineEmits(['getSceneList'])
let submitSceneInfo = () => {
}
const rowSelection = computed(() => {
return {
type: 'radio', // 是否為單選
// 設置了這個屬性便無法選中
// selectedRowKeys: dataListSelectionKeys,
onChange: (selectedRowKeys, selectedRows, event) => {
//selectedRowKeys 為你點擊選框時這一頁選中的所有key
//selectedRows 為你點擊選框時這一頁選中的所有數(shù)據(jù)
myEmit('changeSelectSonSceneId', selectedRowKeys)
// props.currentSelectSonSceneId = selectedRowKeys
// 是個數(shù)組
},
onSelect: (record, selected, selectedRows, nativeEvent) => {
//record 點擊某一條的所有數(shù)據(jù)
//selected 點擊的一條是否被選中
},
onSelectAll: (selected, selectedRows, changeRows) => {
//selected 點擊全選是否選中
//selectedRows 點擊全選判斷所有的選中數(shù)據(jù)
//changeRows 所有改變選中狀態(tài)的數(shù)據(jù)
},
getCheckboxProps: record => {
console.log(props)
return {
// 全部默認禁止選中
disabled: props.defaultChecked ? true : false,
// 某幾項默認禁止選中(R: 當state等于1時)
// disabled: record.state == 1,
// 某幾項默認選中(R: 當state等于1時)
defaultChecked: record.sceneId === props.defaultChecked
}
}
}
})
</script>
<style lang="less">
.addSceneModal {
}
</style>
表格每行實現(xiàn)單選
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
相關閱讀更多精彩內容
- 原文: element-ui Table表格結合CheckBox實現(xiàn)單選效果 最近做項目遇到一個需求,需要實現(xiàn)一個...
- 需求:選中該表格行,在地圖上顯示該行地理位置信息 實現(xiàn)多選效果非常簡單,手動添加一個el-table-column...
- 原創(chuàng)地址:http://www.itdecent.cn/p/30bb5878040c[https://www.j...
- 原因是循環(huán)表格的數(shù)據(jù)時候id一樣,在方法里傳一個參this,下定義方法的時候,傳一個obj參數(shù),$(obj)