2023-01-29 15:26:45 +08:00
|
|
|
<template>
|
2023-03-16 19:24:01 +00:00
|
|
|
<fs-crud ref="crudRef" v-bind="crudBinding" />
|
2023-01-29 15:26:45 +08:00
|
|
|
</template>
|
|
|
|
|
|
2023-03-16 19:24:01 +00:00
|
|
|
<script lang="ts">
|
2023-06-29 19:24:00 +00:00
|
|
|
import { defineComponent, onMounted, watch } from "vue";
|
2023-03-16 19:24:01 +00:00
|
|
|
import createCrudOptions from "./crud";
|
|
|
|
|
import { useFs } from "@fast-crud/fast-crud";
|
2023-01-29 15:26:45 +08:00
|
|
|
|
|
|
|
|
export default defineComponent({
|
2023-03-16 19:24:01 +00:00
|
|
|
name: "FeatureLocalModelValueInput",
|
2023-01-29 15:26:45 +08:00
|
|
|
props: {
|
|
|
|
|
modelValue: {
|
|
|
|
|
default() {
|
2023-03-16 19:24:01 +00:00
|
|
|
return [];
|
2023-01-29 15:26:45 +08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
setup(props) {
|
2023-03-16 19:24:01 +00:00
|
|
|
const { crudBinding, crudRef, crudExpose } = useFs({ createCrudOptions });
|
2023-01-29 15:26:45 +08:00
|
|
|
|
2023-06-29 19:24:00 +00:00
|
|
|
onMounted(() => {
|
2023-06-30 19:24:21 +00:00
|
|
|
//启用行编辑模式
|
2023-06-29 19:24:00 +00:00
|
|
|
crudExpose.editable.enable({ mode: "row" });
|
|
|
|
|
});
|
|
|
|
|
|
2023-01-29 15:26:45 +08:00
|
|
|
//通过导出modelValue, 可以导出成为一个input组件
|
2023-03-16 19:24:01 +00:00
|
|
|
watch(
|
|
|
|
|
() => {
|
|
|
|
|
return props.modelValue;
|
|
|
|
|
},
|
|
|
|
|
(value = []) => {
|
|
|
|
|
crudBinding.value.data = value;
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
immediate: true
|
|
|
|
|
}
|
|
|
|
|
);
|
2023-01-29 15:26:45 +08:00
|
|
|
|
|
|
|
|
// 通过crudBinding.value.data 可以获取表格实时数据
|
|
|
|
|
function showData() {
|
2023-03-16 19:24:01 +00:00
|
|
|
console.log("data:", crudBinding.value.data);
|
2023-01-29 15:26:45 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
crudBinding,
|
|
|
|
|
crudRef,
|
2023-03-16 19:24:01 +00:00
|
|
|
showData
|
2023-01-29 15:26:45 +08:00
|
|
|
};
|
2023-03-16 19:24:01 +00:00
|
|
|
}
|
2023-01-29 15:26:45 +08:00
|
|
|
});
|
|
|
|
|
</script>
|
|
|
|
|
<style lang="less">
|
|
|
|
|
.fs-crud-container.compact .el-table--border {
|
|
|
|
|
border-left: 1px solid #eee;
|
|
|
|
|
}
|
|
|
|
|
</style>
|