Vben Admin中table的添加与删除

html部分
<Form
  ref="formRef"
  :model="formState"
  :label-col="{ span: 6 }"
  :wrapper-col="{ span: 18 }"
  labelAlign="left"
  layout="inline"
  @finish="onAddFun"
 >
	<FormItem label="姓名" name="name">
		<Input v-model:value="formState.name" placeholder="请输入姓名" />
	</FormItem>
	<FormItem label="年龄" name="age">
		<Input v-model:value="formState.age" placeholder="请输入年龄" />
	</FormItem>
	<FormItem>
	    <Button type="primary" html-type="submit">添加</Button>
	 </FormItem>
</Form>
<BasicTable :bordered="false" @register="registerTable">
   <template #bodyCell="{ record, column }">
     <template v-if="column.key === 'action'">
       <TableAction
         :actions="[
           {
             label: '删除',
             color: 'error',
             onClick: handleDelete.bind(null, record),
           },
         ]"
       />
     </template>
   </template>
 </BasicTable>
引入
  import { ref } from 'vue';
  import { Form, FormItem, InputNumber, Button } from 'ant-design-vue';
  import { BasicTable, useTable, BasicColumn, TableAction } from '@/components/Table';
  
  const formState = ref({
    name: '',
    age: '',
  });
  const tableData = ref<any>([]);
  
  const columns: BasicColumn[] = [
    {
      title: '姓名',
      dataIndex: 'name',
    },
    {
      title: '年龄',
      dataIndex: 'age',
    },
  ];
  const [registerTable, { setTableData, getDataSource }] = useTable({
    dataSource: tableData.value,
    columns,
    pagination: true,
    scroll: { y: 600 },
    useSearchForm: false,
    showTableSetting: false,
    bordered: true,
    showIndexColumn: false,
    actionColumn: {
      width: 300,
      title: '操作',
      dataIndex: 'action',
      fixed: 'right',
    },
  });
添加 删除
	// 添加
  const onAddFun = (values) => {
    tableData.value.push({
      name: values.name,
      age: values.age,
      key: new Date().getTime(), // 时间戳当做key
    });
    setTableData(tableData.value);
    formState.value = {
      name: '',
      age: '',
    };
  };
    // 删除
  const handleDelete = (record) => {
    let key = tableData.value.findIndex((item: any) => item.key === record.key);
    tableData.value.splice(key, 1);
    setTableData(tableData.value);
  };
  • 12
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在Vbenadmin重新加载usemodeltable,可以按照以下步骤操作: 1. 打开Vbenadmin后台管理页面,并登录账号。 2. 在左侧菜单栏选择“工具”,然后选择“数据字典”。 3. 在数据字典页面,找到需要重新加载的table所对应的数据库表,并点击该表。 4. 在该表的详细信息页面,点击右上角的“刷新”按钮,即可重新加载该table。 注意,重新加载table可能会导致数据丢失或冲突,应谨慎操作。同时,若该table所对应的模型正在被其他程序或进程使用,也可能会导致错误或异常,应注意安全和稳定性。 ### 回答2: Vben Admin使用model重新加载table的方法如下: 1. 首先,在Vben Admin的项目找到需要重新加载的table所在的页面组件。 2. 在该组件的脚本部分,找到数据请求的地方,通常是在`created`或`mounted`生命周期函数进行数据的初始化请求。 3. 在数据请求的代码块,找到发送请求的方法,一般是将model绑定到`query`参数或使用`@Load`装饰器。 4. 在发送请求的方法添加一个重新加载的逻辑。 a. 如果使用model绑定到`query`参数的方式,可以直接修改`query`对象的某个属性的值,如`query.page = 1`,然后重新发送请求。 b. 如果使用`@Load`装饰器的方式,可以在发送请求之前,定义一个新的model对象,然后将新的model对象绑定到`@Load`装饰器的参数。 ```typescript @Load('newModel') getData(newModel: YourModelType) { // 发送请求的逻辑 } // 在重新加载的时候调用 this.getData({ ...this.newModel }); ``` 5. 重新加载table时,可能还需要重置分页参数。如果使用Vben Admin默认的分页组件,可以通过修改`pageParams`对象的属性来实现,如将`pageParams.current`重置为1。 ```typescript // 重置分页参数 this.pageParams.current = 1; ``` 6. 最后,重新加载table的操作可以放在一个按钮的点击事件触发,或者根据具体的需求添加其他的交互逻辑。 以上是Vben Admin使用model重新加载table的一种方法,根据具体的情况可以进行相应的调整和扩展。 ### 回答3: 在Vben admin,可以使用model来管理数据表格。要重新加载table,可以通过以下步骤来完成: 1. 首先,在Vben admin的页面选择要重新加载的table,可以是通过点击菜单选择某个页面或是在某个组件引入表格。 2. 在要重新加载table的方法,可以使用model的reload方法。该方法用于重新加载数据表格并更新页面显示的数据。 3. 在使用reload方法之前,需要确保已经获取到了最新的数据或是需要重新加载的数据。可以通过调用接口或是其他方式来获取数据。如果有需要的话,可以在reload方法前进行数据的处理、筛选或排序等操作。 4. 调用reload方法,并将重新加载的数据作为参数传入。例如:model.reload(data)。其,data是重新加载的数据。 5. 重新加载table后,数据表格会更新为最新的数据,并且页面上的数据也会相应地进行更新。 需要注意的是,reload方法是以异步的方式执行的,即在调用reload方法后,页面上的数据不会立即更新。如果需要在数据加载完成后执行一些操作,可以在reload方法后添加回调函数,并在回调函数进行相应的操作。 综上所述,使用model的reload方法可以实现Vben admintable的重新加载,更新页面上的数据。通过获取最新的数据并传入reload方法,即可完成table的重新加载操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值